Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Public Member Functions | List of all members
sk_fontations::ColorPainter Class Reference

#include <SkTypeface_fontations_priv.h>

Inheritance diagram for sk_fontations::ColorPainter:
fontations_ffi::ColorPainterWrapper

Public Member Functions

 ColorPainter ()=delete
 
 ColorPainter (SkFontationsScalerContext &scaler_context, SkCanvas &canvas, SkSpan< SkColor > palette, SkColor foregroundColor, bool antialias, uint16_t upem)
 
virtual void push_transform (const fontations_ffi::Transform &transform) override
 
virtual void pop_transform () override
 
virtual void push_clip_glyph (uint16_t glyph_id) override
 
virtual void push_clip_rectangle (float x_min, float y_min, float x_max, float y_max) override
 
virtual void pop_clip () override
 
virtual void fill_solid (uint16_t palette_index, float alpha) override
 
virtual void fill_radial (const fontations_ffi::FillRadialParams &fill_radial_params, fontations_ffi::BridgeColorStops &, uint8_t extend_mode) override
 
virtual void fill_linear (const fontations_ffi::FillLinearParams &fill_linear_params, fontations_ffi::BridgeColorStops &, uint8_t extend_mode) override
 
virtual void fill_sweep (const fontations_ffi::FillSweepParams &fill_sweep_params, fontations_ffi::BridgeColorStops &, uint8_t extend_mode) override
 
virtual void fill_glyph_solid (uint16_t glyph_id, uint16_t palette_index, float alpha) override
 
virtual void fill_glyph_radial (uint16_t glyph_id, const fontations_ffi::Transform &transform, const fontations_ffi::FillRadialParams &fill_radial_params, fontations_ffi::BridgeColorStops &stops, uint8_t) override
 
virtual void fill_glyph_linear (uint16_t glyph_id, const fontations_ffi::Transform &transform, const fontations_ffi::FillLinearParams &fill_linear_params, fontations_ffi::BridgeColorStops &stops, uint8_t) override
 
virtual void fill_glyph_sweep (uint16_t glyph_id, const fontations_ffi::Transform &transform, const fontations_ffi::FillSweepParams &fill_sweep_params, fontations_ffi::BridgeColorStops &stops, uint8_t) override
 
virtual void push_layer (uint8_t compositeMode) override
 
virtual void pop_layer () override
 
- Public Member Functions inherited from fontations_ffi::ColorPainterWrapper
virtual ~ColorPainterWrapper ()=default
 
virtual void push_transform (const Transform &transform)=0
 
virtual void fill_linear (const FillLinearParams &fill_linear_params, BridgeColorStops &stops, uint8_t extend_mode)=0
 
virtual void fill_radial (const FillRadialParams &fill_radial_params, BridgeColorStops &stops, uint8_t extend_mode)=0
 
virtual void fill_sweep (const FillSweepParams &, BridgeColorStops &stops, uint8_t extend_mode)=0
 

Detailed Description

Definition at line 66 of file SkTypeface_fontations_priv.h.

Constructor & Destructor Documentation

◆ ColorPainter() [1/2]

sk_fontations::ColorPainter::ColorPainter ( )
delete

◆ ColorPainter() [2/2]

sk_fontations::ColorPainter::ColorPainter ( SkFontationsScalerContext scaler_context,
SkCanvas canvas,
SkSpan< SkColor palette,
SkColor  foregroundColor,
bool  antialias,
uint16_t  upem 
)

Definition at line 1083 of file SkTypeface_fontations.cpp.

1089 : fScalerContext(scaler_context)
1090 , fCanvas(canvas)
1091 , fPalette(palette)
1092 , fForegroundColor(foregroundColor)
1093 , fAntialias(antialias)
1094 , fUpem(upem) {}

Member Function Documentation

◆ fill_glyph_linear()

void sk_fontations::ColorPainter::fill_glyph_linear ( uint16_t  glyph_id,
const fontations_ffi::Transform &  transform,
const fontations_ffi::FillLinearParams &  fill_linear_params,
fontations_ffi::BridgeColorStops &  stops,
uint8_t  extend_mode 
)
overridevirtual

Implements fontations_ffi::ColorPainterWrapper.

Definition at line 1196 of file SkTypeface_fontations.cpp.

1200 {
1201 SkPath path;
1202 fScalerContext.generateYScalePathForGlyphId(glyph_id, &path, fUpem);
1203
1204 SkPaint paint;
1205 SkMatrix paintTransform = SkMatrixFromFontationsTransform(transform);
1206 configure_linear_paint(linear_params, bridge_stops, extend_mode, paint, &paintTransform);
1207 fCanvas.drawPath(path, paint);
1208}
void drawPath(const SkPath &path, const SkPaint &paint)
bool generateYScalePathForGlyphId(uint16_t glyphId, SkPath *path, float yScale)
const Paint & paint
DEF_SWITCHES_START aot vmservice shared library Name of the *so containing AOT compiled Dart assets for launching the service isolate vm snapshot The VM snapshot data that will be memory mapped as read only SnapshotAssetPath must be present isolate snapshot The isolate snapshot data that will be memory mapped as read only SnapshotAssetPath must be present cache dir path
Definition switches.h:57
static SkColor4f transform(SkColor4f c, SkColorSpace *src, SkColorSpace *dst)
Definition p3.cpp:47

◆ fill_glyph_radial()

void sk_fontations::ColorPainter::fill_glyph_radial ( uint16_t  glyph_id,
const fontations_ffi::Transform &  transform,
const fontations_ffi::FillRadialParams &  fill_radial_params,
fontations_ffi::BridgeColorStops &  stops,
uint8_t  extend_mode 
)
overridevirtual

Implements fontations_ffi::ColorPainterWrapper.

Definition at line 1353 of file SkTypeface_fontations.cpp.

1357 {
1358 SkPath path;
1359 fScalerContext.generateYScalePathForGlyphId(glyph_id, &path, fUpem);
1360
1361 SkPaint paint;
1362 SkMatrix paintTransform = SkMatrixFromFontationsTransform(transform);
1363 configure_radial_paint(fill_radial_params, bridge_stops, extend_mode, paint, &paintTransform);
1364 fCanvas.drawPath(path, paint);
1365}

◆ fill_glyph_solid()

void sk_fontations::ColorPainter::fill_glyph_solid ( uint16_t  glyph_id,
uint16_t  palette_index,
float  alpha 
)
overridevirtual

Implements fontations_ffi::ColorPainterWrapper.

Definition at line 1137 of file SkTypeface_fontations.cpp.

1137 {
1138 SkPath path;
1139 fScalerContext.generateYScalePathForGlyphId(glyph_id, &path, fUpem);
1140
1141 SkPaint paint;
1142 configure_solid_paint(palette_index, alpha, paint);
1143 fCanvas.drawPath(path, paint);
1144}

◆ fill_glyph_sweep()

void sk_fontations::ColorPainter::fill_glyph_sweep ( uint16_t  glyph_id,
const fontations_ffi::Transform &  transform,
const fontations_ffi::FillSweepParams &  fill_sweep_params,
fontations_ffi::BridgeColorStops &  stops,
uint8_t  extend_mode 
)
overridevirtual

Implements fontations_ffi::ColorPainterWrapper.

Definition at line 1418 of file SkTypeface_fontations.cpp.

1422 {
1423 SkPath path;
1424 fScalerContext.generateYScalePathForGlyphId(glyph_id, &path, fUpem);
1425
1426 SkPaint paint;
1427 SkMatrix paintTransform = SkMatrixFromFontationsTransform(transform);
1428 configure_sweep_paint(sweep_params, bridge_stops, extend_mode, paint, &paintTransform);
1429 fCanvas.drawPath(path, paint);
1430}

◆ fill_linear()

void sk_fontations::ColorPainter::fill_linear ( const fontations_ffi::FillLinearParams &  fill_linear_params,
fontations_ffi::BridgeColorStops &  bridge_stops,
uint8_t  extend_mode 
)
overridevirtual

Definition at line 1186 of file SkTypeface_fontations.cpp.

1188 {
1189 SkPaint paint;
1190
1191 configure_linear_paint(linear_params, bridge_stops, extend_mode, paint);
1192
1193 fCanvas.drawPaint(paint);
1194}
void drawPaint(const SkPaint &paint)

◆ fill_radial()

void sk_fontations::ColorPainter::fill_radial ( const fontations_ffi::FillRadialParams &  fill_radial_params,
fontations_ffi::BridgeColorStops &  bridge_stops,
uint8_t  extend_mode 
)
overridevirtual

Definition at line 1343 of file SkTypeface_fontations.cpp.

1345 {
1346 SkPaint paint;
1347
1348 configure_radial_paint(fill_radial_params, bridge_stops, extend_mode, paint);
1349
1350 fCanvas.drawPaint(paint);
1351}

◆ fill_solid()

void sk_fontations::ColorPainter::fill_solid ( uint16_t  palette_index,
float  alpha 
)
overridevirtual

Implements fontations_ffi::ColorPainterWrapper.

Definition at line 1131 of file SkTypeface_fontations.cpp.

1131 {
1132 SkPaint paint;
1133 configure_solid_paint(palette_index, alpha, paint);
1134 fCanvas.drawPaint(paint);
1135}

◆ fill_sweep()

void sk_fontations::ColorPainter::fill_sweep ( const fontations_ffi::FillSweepParams &  fill_sweep_params,
fontations_ffi::BridgeColorStops &  bridge_stops,
uint8_t  extend_mode 
)
overridevirtual

Definition at line 1408 of file SkTypeface_fontations.cpp.

1410 {
1411 SkPaint paint;
1412
1413 configure_sweep_paint(sweep_params, bridge_stops, extend_mode, paint);
1414
1415 fCanvas.drawPaint(paint);
1416}

◆ pop_clip()

void sk_fontations::ColorPainter::pop_clip ( )
overridevirtual

Implements fontations_ffi::ColorPainterWrapper.

Definition at line 1116 of file SkTypeface_fontations.cpp.

1116{ fCanvas.restore(); }
void restore()
Definition SkCanvas.cpp:465

◆ pop_layer()

void sk_fontations::ColorPainter::pop_layer ( )
overridevirtual

Implements fontations_ffi::ColorPainterWrapper.

Definition at line 1438 of file SkTypeface_fontations.cpp.

1438{ fCanvas.restore(); }

◆ pop_transform()

void sk_fontations::ColorPainter::pop_transform ( )
overridevirtual

Implements fontations_ffi::ColorPainterWrapper.

Definition at line 1101 of file SkTypeface_fontations.cpp.

1101{ fCanvas.restore(); }

◆ push_clip_glyph()

void sk_fontations::ColorPainter::push_clip_glyph ( uint16_t  glyph_id)
overridevirtual

Implements fontations_ffi::ColorPainterWrapper.

Definition at line 1103 of file SkTypeface_fontations.cpp.

1103 {
1104 fCanvas.save();
1105 SkPath path;
1106 fScalerContext.generateYScalePathForGlyphId(glyph_id, &path, fUpem);
1107 fCanvas.clipPath(path, fAntialias);
1108}
void clipPath(const SkPath &path, SkClipOp op, bool doAntiAlias)
int save()
Definition SkCanvas.cpp:451

◆ push_clip_rectangle()

void sk_fontations::ColorPainter::push_clip_rectangle ( float  x_min,
float  y_min,
float  x_max,
float  y_max 
)
overridevirtual

Implements fontations_ffi::ColorPainterWrapper.

Definition at line 1110 of file SkTypeface_fontations.cpp.

1110 {
1111 fCanvas.save();
1112 SkRect clipRect = SkRect::MakeLTRB(x_min, -y_min, x_max, -y_max);
1113 fCanvas.clipRect(clipRect, fAntialias);
1114}
void clipRect(const SkRect &rect, SkClipOp op, bool doAntiAlias)
clipRect(r.rect, r.opAA.op(), r.opAA.aa())) template<> void Draw
static constexpr SkRect MakeLTRB(float l, float t, float r, float b)
Definition SkRect.h:646

◆ push_layer()

void sk_fontations::ColorPainter::push_layer ( uint8_t  compositeMode)
overridevirtual

Implements fontations_ffi::ColorPainterWrapper.

Definition at line 1432 of file SkTypeface_fontations.cpp.

1432 {
1433 SkPaint paint;
1434 paint.setBlendMode(ToSkBlendMode(compositeMode));
1435 fCanvas.saveLayer(nullptr, &paint);
1436}
int saveLayer(const SkRect *bounds, const SkPaint *paint)
Definition SkCanvas.cpp:500

◆ push_transform()

void sk_fontations::ColorPainter::push_transform ( const fontations_ffi::Transform &  transform)
overridevirtual

Definition at line 1096 of file SkTypeface_fontations.cpp.

1096 {
1097 fCanvas.save();
1098 fCanvas.concat(SkMatrixFromFontationsTransform(transform_arg));
1099}
void concat(const SkMatrix &matrix)

The documentation for this class was generated from the following files: