Backend implementation of |DlOpReceiver| for |SkCanvas|. More...
#include <dl_sk_dispatcher.h>
Public Member Functions | |
| DlSkCanvasDispatcher (SkCanvas *canvas, DlScalar opacity=SK_Scalar1) | |
| const SkPaint * | safe_paint (bool use_attributes) |
| void | save () override |
| void | restore () override |
| void | saveLayer (const DlRect &bounds, const SaveLayerOptions options, const DlImageFilter *backdrop, std::optional< int64_t > backdrop_id) override |
| void | translate (DlScalar tx, DlScalar ty) override |
| void | scale (DlScalar sx, DlScalar sy) override |
| void | rotate (DlScalar degrees) override |
| void | skew (DlScalar sx, DlScalar sy) override |
| void | transform2DAffine (DlScalar mxx, DlScalar mxy, DlScalar mxt, DlScalar myx, DlScalar myy, DlScalar myt) override |
| void | transformFullPerspective (DlScalar mxx, DlScalar mxy, DlScalar mxz, DlScalar mxt, DlScalar myx, DlScalar myy, DlScalar myz, DlScalar myt, DlScalar mzx, DlScalar mzy, DlScalar mzz, DlScalar mzt, DlScalar mwx, DlScalar mwy, DlScalar mwz, DlScalar mwt) override |
| void | transformReset () override |
| void | clipRect (const DlRect &rect, DlClipOp clip_op, bool is_aa) override |
| void | clipOval (const DlRect &bounds, DlClipOp clip_op, bool is_aa) override |
| void | clipRoundRect (const DlRoundRect &rrect, DlClipOp clip_op, bool is_aa) override |
| void | clipRoundSuperellipse (const DlRoundSuperellipse &rse, DlClipOp clip_op, bool is_aa) override |
| void | clipPath (const DlPath &path, DlClipOp clip_op, bool is_aa) override |
| void | drawPaint () override |
| void | drawColor (DlColor color, DlBlendMode mode) override |
| void | drawLine (const DlPoint &p0, const DlPoint &p1) override |
| void | drawDashedLine (const DlPoint &p0, const DlPoint &p1, DlScalar on_length, DlScalar off_length) override |
| void | drawRect (const DlRect &rect) override |
| void | drawOval (const DlRect &bounds) override |
| void | drawCircle (const DlPoint ¢er, DlScalar radius) override |
| void | drawRoundRect (const DlRoundRect &rrect) override |
| void | drawDiffRoundRect (const DlRoundRect &outer, const DlRoundRect &inner) override |
| void | drawRoundSuperellipse (const DlRoundSuperellipse &rse) override |
| void | drawPath (const DlPath &path) override |
| void | drawArc (const DlRect &bounds, DlScalar start, DlScalar sweep, bool useCenter) override |
| void | drawPoints (DlPointMode mode, uint32_t count, const DlPoint pts[]) override |
| void | drawVertices (const std::shared_ptr< DlVertices > &vertices, DlBlendMode mode) override |
| void | drawImage (const sk_sp< DlImage > image, const DlPoint &point, DlImageSampling sampling, bool render_with_attributes) override |
| void | drawImageRect (const sk_sp< DlImage > image, const DlRect &src, const DlRect &dst, DlImageSampling sampling, bool render_with_attributes, DlSrcRectConstraint constraint) override |
| void | drawImageNine (const sk_sp< DlImage > image, const DlIRect ¢er, const DlRect &dst, DlFilterMode filter, bool render_with_attributes) override |
| void | drawAtlas (const sk_sp< DlImage > atlas, const DlRSTransform xform[], const DlRect tex[], const DlColor colors[], int count, DlBlendMode mode, DlImageSampling sampling, const DlRect *cullRect, bool render_with_attributes) override |
| void | drawDisplayList (const sk_sp< DisplayList > display_list, DlScalar opacity) override |
| void | drawText (const std::shared_ptr< DlText > &text, DlScalar x, DlScalar y) override |
| void | drawShadow (const DlPath &path, const DlColor color, const DlScalar elevation, bool transparent_occluder, DlScalar dpr) override |
Public Member Functions inherited from flutter::DlOpReceiver | |
| virtual void | setStrokeWidth (float width)=0 |
| virtual void | setStrokeMiter (float limit)=0 |
| virtual void | save (uint32_t total_content_depth) |
| virtual void | saveLayer (const DlRect &bounds, const SaveLayerOptions &options, uint32_t total_content_depth, DlBlendMode max_content_blend_mode, const DlImageFilter *backdrop=nullptr, std::optional< int64_t > backdrop_id=std::nullopt) |
| virtual void | saveLayer (const DlRect *bounds, const SaveLayerOptions options, const DlImageFilter *backdrop=nullptr, std::optional< int64_t > backdrop_id=std::nullopt) final |
Public Member Functions inherited from flutter::DlSkPaintDispatchHelper | |
| DlSkPaintDispatchHelper (SkScalar opacity=SK_Scalar1) | |
| void | setAntiAlias (bool aa) override |
| void | setDrawStyle (DlDrawStyle style) override |
| void | setColor (DlColor color) override |
| void | setStrokeWidth (SkScalar width) override |
| void | setStrokeMiter (SkScalar limit) override |
| void | setStrokeCap (DlStrokeCap cap) override |
| void | setStrokeJoin (DlStrokeJoin join) override |
| void | setColorSource (const DlColorSource *source) override |
| void | setColorFilter (const DlColorFilter *filter) override |
| void | setInvertColors (bool invert) override |
| void | setBlendMode (DlBlendMode mode) override |
| void | setMaskFilter (const DlMaskFilter *filter) override |
| void | setImageFilter (const DlImageFilter *filter) override |
| const SkPaint & | paint (bool uses_shader=true) |
| SkScalar | opacity () |
| SkScalar | combined_opacity () |
| bool | has_opacity () |
Static Public Member Functions | |
| static void | DrawShadow (SkCanvas *canvas, const SkPath &path, DlColor color, float elevation, bool transparentOccluder, DlScalar dpr) |
Additional Inherited Members | |
Static Public Attributes inherited from flutter::DlOpReceiver | |
| static constexpr int | kMaxDrawPointsCount = ((1 << 29) - 1) |
Protected Member Functions inherited from flutter::DlSkPaintDispatchHelper | |
| void | save_opacity (SkScalar opacity_for_children) |
| void | restore_opacity () |
Backend implementation of |DlOpReceiver| for |SkCanvas|.
Definition at line 20 of file dl_sk_dispatcher.h.
|
inlineexplicit |
Definition at line 23 of file dl_sk_dispatcher.h.
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 135 of file dl_sk_dispatcher.cc.
References flutter::ToSk(), and flutter::ToSkRect().
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 151 of file dl_sk_dispatcher.cc.
References flutter::path, and flutter::ToSk().
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 130 of file dl_sk_dispatcher.cc.
References flutter::ToSk(), and flutter::ToSkRect().
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 140 of file dl_sk_dispatcher.cc.
References flutter::ToSk(), and flutter::ToSkRRect().
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 145 of file dl_sk_dispatcher.cc.
References flutter::ToApproximateSkRRect(), and flutter::ToSk().
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 212 of file dl_sk_dispatcher.cc.
References flutter::DlSkPaintDispatchHelper::paint(), start, and flutter::ToSkRect().
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 260 of file dl_sk_dispatcher.cc.
References i, flutter::mode, safe_paint(), flutter::ToSk(), and flutter::ToSkRect().
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 193 of file dl_sk_dispatcher.cc.
References flutter::DlSkPaintDispatchHelper::paint(), and flutter::ToSkPoint().
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 168 of file dl_sk_dispatcher.cc.
References flutter::mode, flutter::DlSkPaintDispatchHelper::opacity(), flutter::ToSk(), and flutter::ToSkColor4f().
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 178 of file dl_sk_dispatcher.cc.
References flutter::DlSkPaintDispatchHelper::paint(), and flutter::ToSkPoint().
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 199 of file dl_sk_dispatcher.cc.
References flutter::DlSkPaintDispatchHelper::paint(), and flutter::ToSkRRect().
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 294 of file dl_sk_dispatcher.cc.
References flutter::DlSkPaintDispatchHelper::combined_opacity(), flutter::DlSkPaintDispatchHelper::opacity(), flutter::ToDlRect(), flutter::ToSkRect(), and TRACE_EVENT0.
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 228 of file dl_sk_dispatcher.cc.
References image, safe_paint(), flutter::ToSk(), impeller::TPoint< T >::x, and impeller::TPoint< T >::y.
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 245 of file dl_sk_dispatcher.cc.
References image, safe_paint(), flutter::ToSk(), flutter::ToSkIRect(), and flutter::ToSkRect().
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 235 of file dl_sk_dispatcher.cc.
References image, safe_paint(), flutter::ToSk(), and flutter::ToSkRect().
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 175 of file dl_sk_dispatcher.cc.
References flutter::DlSkPaintDispatchHelper::paint(), and flutter::ToSkPoint().
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 190 of file dl_sk_dispatcher.cc.
References flutter::DlSkPaintDispatchHelper::paint(), and flutter::ToSkRect().
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 158 of file dl_sk_dispatcher.cc.
References flutter::DlSkPaintDispatchHelper::paint(), and TRACE_EVENT0.
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 208 of file dl_sk_dispatcher.cc.
References flutter::DlSkPaintDispatchHelper::paint(), and flutter::path.
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 218 of file dl_sk_dispatcher.cc.
References flutter::mode, flutter::DlSkPaintDispatchHelper::paint(), flutter::ToSk(), and flutter::ToSkPoints().
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 187 of file dl_sk_dispatcher.cc.
References flutter::DlSkPaintDispatchHelper::paint(), and flutter::ToSkRect().
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 196 of file dl_sk_dispatcher.cc.
References flutter::DlSkPaintDispatchHelper::paint(), and flutter::ToSkRRect().
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 203 of file dl_sk_dispatcher.cc.
References flutter::DlSkPaintDispatchHelper::paint(), and flutter::ToApproximateSkRRect().
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 359 of file dl_sk_dispatcher.cc.
References DrawShadow(), and flutter::path.
|
static |
Definition at line 332 of file dl_sk_dispatcher.cc.
References flutter::DlColor::getAlpha(), flutter::DlCanvas::kShadowLightHeight, flutter::DlCanvas::kShadowLightRadius, flutter::path, and flutter::ToSkColor().
Referenced by flutter::DlSkCanvasAdapter::DrawShadow(), drawShadow(), flutter::testing::TEST_F(), flutter::testing::TEST_F(), and flutter::testing::TEST_F().
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 324 of file dl_sk_dispatcher.cc.
References FML_CHECK, flutter::DlSkPaintDispatchHelper::paint(), text, x, and y.
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 223 of file dl_sk_dispatcher.cc.
References flutter::mode, flutter::DlSkPaintDispatchHelper::paint(), and flutter::ToSk().
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 48 of file dl_sk_dispatcher.cc.
References flutter::DlSkPaintDispatchHelper::restore_opacity().
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 96 of file dl_sk_dispatcher.cc.
| const SkPaint * flutter::DlSkCanvasDispatcher::safe_paint | ( | bool | use_attributes | ) |
Definition at line 22 of file dl_sk_dispatcher.cc.
References flutter::DlSkPaintDispatchHelper::has_opacity(), flutter::DlSkPaintDispatchHelper::opacity(), and flutter::DlSkPaintDispatchHelper::paint().
Referenced by drawAtlas(), drawImage(), drawImageNine(), drawImageRect(), saveLayer(), flutter::testing::TEST(), and flutter::testing::TEST().
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 38 of file dl_sk_dispatcher.cc.
References flutter::DlSkPaintDispatchHelper::opacity(), and flutter::DlSkPaintDispatchHelper::save_opacity().
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 52 of file dl_sk_dispatcher.cc.
References flutter::DlImageFilter::asBlur(), flutter::SaveLayerOptions::bounds_from_caller(), flutter::SaveLayerOptions::can_distribute_opacity(), flutter::DlSkPaintDispatchHelper::combined_opacity(), flutter::SaveLayerOptions::content_is_clipped(), flutter::DlSkPaintDispatchHelper::opacity(), flutter::DlSkPaintDispatchHelper::paint(), params, flutter::SaveLayerOptions::renders_with_attributes(), safe_paint(), flutter::DlSkPaintDispatchHelper::save_opacity(), flutter::DlBlurImageFilter::tile_mode(), flutter::ToSk(), flutter::ToSkRect(), and TRACE_EVENT0.
Implements flutter::DlOpReceiver.
Definition at line 93 of file dl_sk_dispatcher.cc.
Implements flutter::DlOpReceiver.
Definition at line 99 of file dl_sk_dispatcher.cc.
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 104 of file dl_sk_dispatcher.cc.
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 115 of file dl_sk_dispatcher.cc.
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 126 of file dl_sk_dispatcher.cc.
Implements flutter::DlOpReceiver.
Definition at line 90 of file dl_sk_dispatcher.cc.