5#ifndef FLUTTER_DISPLAY_LIST_SKIA_DL_SK_CANVAS_H_
6#define FLUTTER_DISPLAY_LIST_SKIA_DL_SK_CANVAS_H_
30 SkCanvas*
canvas() {
return delegate_; }
36 void SaveLayer(
const std::optional<DlRect>& bounds,
39 std::optional<int64_t> backdrop_id = std::nullopt)
override;
103 const DlPaint& paint)
override;
108 const DlPaint& paint)
override;
112 const DlPaint& paint)
override;
114 const DlPaint& paint)
override;
120 const DlPaint& paint)
override;
124 const DlPaint& paint)
override;
125 void DrawVertices(
const std::shared_ptr<DlVertices>& vertices,
127 const DlPaint& paint)
override;
131 const DlPaint* paint =
nullptr)
override;
133 const sk_sp<DlImage>&
image,
137 const DlPaint* paint =
nullptr,
143 const DlPaint* paint =
nullptr)
override;
144 void DrawAtlas(
const sk_sp<DlImage>& atlas,
152 const DlPaint* paint =
nullptr)
override;
154 DlScalar opacity = SK_Scalar1)
override;
158 const DlPaint& paint)
override;
162 bool transparent_occluder,
165 void Flush()
override;
Developer-facing API for rendering anything within the engine.
Backend implementation of |DlCanvas| for |SkCanvas|.
~DlSkCanvasAdapter() override=default
void DrawRect(const DlRect &rect, const DlPaint &paint) override
void Transform(const DlMatrix &matrix) override
void Scale(DlScalar sx, DlScalar sy) override
void Rotate(DlScalar degrees) override
int GetSaveCount() const override
void ClipOval(const DlRect &bounds, DlClipOp clip_op, bool is_aa) override
void DrawRoundSuperellipse(const DlRoundSuperellipse &rse, const DlPaint &paint) 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 Skew(DlScalar sx, DlScalar sy) override
void DrawPoints(DlPointMode mode, uint32_t count, const DlPoint pts[], const DlPaint &paint) override
void DrawColor(DlColor color, DlBlendMode mode) override
void DrawImage(const sk_sp< DlImage > &image, const DlPoint &point, DlImageSampling sampling, const DlPaint *paint=nullptr) override
void SetTransform(const DlMatrix &matrix) override
void ClipPath(const DlPath &path, DlClipOp clip_op, bool is_aa) override
void DrawPath(const DlPath &path, const DlPaint &paint) override
void DrawLine(const DlPoint &p0, const DlPoint &p1, const DlPaint &paint) override
DlISize GetBaseLayerDimensions() const override
void Translate(DlScalar tx, DlScalar ty) override
void SaveLayer(const std::optional< DlRect > &bounds, const DlPaint *paint=nullptr, const DlImageFilter *backdrop=nullptr, std::optional< int64_t > backdrop_id=std::nullopt) override
DlMatrix GetMatrix() const override
void DrawDiffRoundRect(const DlRoundRect &outer, const DlRoundRect &inner, const DlPaint &paint) override
void DrawShadow(const DlPath &path, const DlColor color, const DlScalar elevation, bool transparent_occluder, DlScalar dpr) override
Draws the shadow of the given |path| rendered in the provided |color| (which is only consulted for it...
DlRect GetLocalClipCoverage() const override
void DrawRoundRect(const DlRoundRect &rrect, const DlPaint &paint) override
void DrawVertices(const std::shared_ptr< DlVertices > &vertices, DlBlendMode mode, const DlPaint &paint) override
DlRect GetDestinationClipCoverage() const 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, const DlPaint *paint=nullptr) override
void ClipRect(const DlRect &rect, DlClipOp clip_op, bool is_aa) override
void DrawArc(const DlRect &bounds, DlScalar start, DlScalar sweep, bool useCenter, const DlPaint &paint) override
void ClipRoundSuperellipse(const DlRoundSuperellipse &rse, DlClipOp clip_op, bool is_aa) override
bool QuickReject(const DlRect &bounds) const override
void DrawImageNine(const sk_sp< DlImage > &image, const DlIRect ¢er, const DlRect &dst, DlFilterMode filter, const DlPaint *paint=nullptr) override
void DrawCircle(const DlPoint ¢er, DlScalar radius, const DlPaint &paint) override
DlSkCanvasAdapter(SkCanvas *canvas)
void DrawImageRect(const sk_sp< DlImage > &image, const DlRect &src, const DlRect &dst, DlImageSampling sampling, const DlPaint *paint=nullptr, DlSrcRectConstraint constraint=DlSrcRectConstraint::kFast) override
void DrawDisplayList(const sk_sp< DisplayList > display_list, DlScalar opacity=SK_Scalar1) override
void set_canvas(SkCanvas *canvas)
void DrawOval(const DlRect &bounds, const DlPaint &paint) override
void DrawDashedLine(const DlPoint &p0, const DlPoint &p1, DlScalar on_length, DlScalar off_length, const DlPaint &paint) override
void ClipRoundRect(const DlRoundRect &rrect, DlClipOp clip_op, bool is_aa) override
void RestoreToCount(int restore_count) override
SkImageInfo GetImageInfo() const override
void Transform2DAffine(DlScalar mxx, DlScalar mxy, DlScalar mxt, DlScalar myx, DlScalar myy, DlScalar myt) override
void DrawPaint(const DlPaint &paint) override
FlutterVulkanImage * image
impeller::Scalar DlScalar
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
A 4x4 matrix using column-major storage.