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 136 of file dl_sk_dispatcher.cc.
References flutter::ToSk(), and flutter::ToSkRect().
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 152 of file dl_sk_dispatcher.cc.
References flutter::path, and flutter::ToSk().
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 131 of file dl_sk_dispatcher.cc.
References flutter::ToSk(), and flutter::ToSkRect().
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 141 of file dl_sk_dispatcher.cc.
References flutter::ToSk(), and flutter::ToSkRRect().
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 146 of file dl_sk_dispatcher.cc.
References flutter::ToApproximateSkRRect(), and flutter::ToSk().
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 213 of file dl_sk_dispatcher.cc.
References flutter::DlSkPaintDispatchHelper::paint(), start, and flutter::ToSkRect().
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 264 of file dl_sk_dispatcher.cc.
References FML_DCHECK, i, flutter::mode, safe_paint(), flutter::ToSk(), and flutter::ToSkRect().
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 194 of file dl_sk_dispatcher.cc.
References flutter::DlSkPaintDispatchHelper::paint(), and flutter::ToSkPoint().
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 169 of file dl_sk_dispatcher.cc.
References flutter::mode, flutter::DlSkPaintDispatchHelper::opacity(), flutter::ToSk(), and flutter::ToSkColor4f().
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 179 of file dl_sk_dispatcher.cc.
References p1, flutter::DlSkPaintDispatchHelper::paint(), and flutter::ToSkPoint().
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 200 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 229 of file dl_sk_dispatcher.cc.
References FML_DCHECK, image, safe_paint(), flutter::ToSk(), impeller::TPoint< T >::x, and impeller::TPoint< T >::y.
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 252 of file dl_sk_dispatcher.cc.
References FML_DCHECK, image, safe_paint(), flutter::ToSk(), flutter::ToSkIRect(), and flutter::ToSkRect().
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 239 of file dl_sk_dispatcher.cc.
References FML_DCHECK, image, safe_paint(), flutter::ToSk(), and flutter::ToSkRect().
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 176 of file dl_sk_dispatcher.cc.
References p1, flutter::DlSkPaintDispatchHelper::paint(), and flutter::ToSkPoint().
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 191 of file dl_sk_dispatcher.cc.
References flutter::DlSkPaintDispatchHelper::paint(), and flutter::ToSkRect().
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 159 of file dl_sk_dispatcher.cc.
References flutter::DlSkPaintDispatchHelper::paint(), and TRACE_EVENT0.
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 209 of file dl_sk_dispatcher.cc.
References flutter::DlSkPaintDispatchHelper::paint(), and flutter::path.
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 219 of file dl_sk_dispatcher.cc.
References flutter::mode, flutter::DlSkPaintDispatchHelper::paint(), flutter::ToSk(), and flutter::ToSkPoints().
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 188 of file dl_sk_dispatcher.cc.
References flutter::DlSkPaintDispatchHelper::paint(), and flutter::ToSkRect().
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 197 of file dl_sk_dispatcher.cc.
References flutter::DlSkPaintDispatchHelper::paint(), and flutter::ToSkRRect().
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 204 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(), and drawShadow().
|
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 224 of file dl_sk_dispatcher.cc.
References flutter::mode, flutter::DlSkPaintDispatchHelper::paint(), and flutter::ToSk().
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 49 of file dl_sk_dispatcher.cc.
References flutter::DlSkPaintDispatchHelper::restore_opacity().
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 97 of file dl_sk_dispatcher.cc.
| const SkPaint * flutter::DlSkCanvasDispatcher::safe_paint | ( | bool | use_attributes | ) |
Definition at line 23 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 39 of file dl_sk_dispatcher.cc.
References flutter::DlSkPaintDispatchHelper::opacity(), and flutter::DlSkPaintDispatchHelper::save_opacity().
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 53 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 94 of file dl_sk_dispatcher.cc.
Implements flutter::DlOpReceiver.
Definition at line 100 of file dl_sk_dispatcher.cc.
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 105 of file dl_sk_dispatcher.cc.
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 116 of file dl_sk_dispatcher.cc.
|
overridevirtual |
Implements flutter::DlOpReceiver.
Definition at line 127 of file dl_sk_dispatcher.cc.
Implements flutter::DlOpReceiver.
Definition at line 91 of file dl_sk_dispatcher.cc.