5#ifndef FLUTTER_DISPLAY_LIST_DL_OP_RECEIVER_H_
6#define FLUTTER_DISPLAY_LIST_DL_OP_RECEIVER_H_
20#include "flutter/third_party/skia/include/core/SkTextBlob.h"
123 virtual void save(uint32_t total_content_depth) {
save(); }
143 std::optional<int64_t> backdrop_id = std::nullopt) = 0;
148 uint32_t total_content_depth,
151 std::optional<int64_t> backdrop_id = std::nullopt) {
152 saveLayer(bounds, options, backdrop, backdrop_id);
175 std::optional<int64_t> backdrop_id = std::nullopt)
final {
177 saveLayer(*bounds, options.with_bounds_from_caller(), backdrop,
336 bool render_with_attributes) = 0;
338 const sk_sp<DlImage>
image,
342 bool render_with_attributes,
348 bool render_with_attributes) = 0;
357 bool render_with_attributes) = 0;
366 bool transparent_occluder,
Internal API for rendering recorded display lists to backends.
virtual void drawText(const std::shared_ptr< DlText > &text, DlScalar x, DlScalar y)=0
virtual void save(uint32_t total_content_depth)
virtual void setStrokeMiter(float limit)=0
virtual void transformReset()=0
virtual void drawPath(const DlPath &path)=0
virtual void saveLayer(const DlRect *bounds, const SaveLayerOptions options, const DlImageFilter *backdrop=nullptr, std::optional< int64_t > backdrop_id=std::nullopt) final
virtual void drawImageNine(const sk_sp< DlImage > image, const DlIRect ¢er, const DlRect &dst, DlFilterMode filter, bool render_with_attributes)=0
virtual void drawImageRect(const sk_sp< DlImage > image, const DlRect &src, const DlRect &dst, DlImageSampling sampling, bool render_with_attributes, DlSrcRectConstraint constraint=DlSrcRectConstraint::kFast)=0
virtual void drawArc(const DlRect &oval_bounds, DlScalar start_degrees, DlScalar sweep_degrees, bool use_center)=0
virtual void translate(DlScalar tx, DlScalar ty)=0
virtual void drawImage(const sk_sp< DlImage > image, const DlPoint &point, DlImageSampling sampling, bool render_with_attributes)=0
virtual void scale(DlScalar sx, DlScalar sy)=0
virtual void setStrokeWidth(float width)=0
virtual void setMaskFilter(const DlMaskFilter *filter)=0
virtual void drawRoundSuperellipse(const DlRoundSuperellipse &rse)=0
virtual void drawDiffRoundRect(const DlRoundRect &outer, const DlRoundRect &inner)=0
virtual void setColorFilter(const DlColorFilter *filter)=0
virtual void rotate(DlScalar degrees)=0
virtual void drawVertices(const std::shared_ptr< DlVertices > &vertices, DlBlendMode mode)=0
virtual void setAntiAlias(bool aa)=0
virtual void drawLine(const DlPoint &p0, const DlPoint &p1)=0
virtual void drawCircle(const DlPoint ¢er, DlScalar radius)=0
static constexpr int kMaxDrawPointsCount
virtual void drawDisplayList(const sk_sp< DisplayList > display_list, DlScalar opacity=SK_Scalar1)=0
virtual void transform2DAffine(DlScalar mxx, DlScalar mxy, DlScalar mxt, DlScalar myx, DlScalar myy, DlScalar myt)=0
virtual void drawShadow(const DlPath &path, const DlColor color, const DlScalar elevation, bool transparent_occluder, DlScalar dpr)=0
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 drawPoints(DlPointMode mode, uint32_t count, const DlPoint points[])=0
virtual void clipRect(const DlRect &rect, DlClipOp clip_op, bool is_aa)=0
virtual 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)=0
virtual void clipPath(const DlPath &path, DlClipOp clip_op, bool is_aa)=0
virtual void skew(DlScalar sx, DlScalar sy)=0
virtual void drawColor(DlColor color, DlBlendMode mode)=0
virtual void clipOval(const DlRect &bounds, DlClipOp clip_op, bool is_aa)=0
virtual void drawAtlas(const sk_sp< DlImage > atlas, const DlRSTransform xform[], const DlRect tex[], const DlColor colors[], int count, DlBlendMode mode, DlImageSampling sampling, const DlRect *cull_rect, bool render_with_attributes)=0
virtual void drawDashedLine(const DlPoint &p0, const DlPoint &p1, DlScalar on_length, DlScalar off_length)=0
virtual void setStrokeJoin(DlStrokeJoin join)=0
virtual void clipRoundSuperellipse(const DlRoundSuperellipse &rse, DlClipOp clip_op, bool is_aa)=0
virtual void setImageFilter(const DlImageFilter *filter)=0
virtual void setColorSource(const DlColorSource *source)=0
virtual void drawPaint()=0
virtual void setDrawStyle(DlDrawStyle style)=0
virtual void setBlendMode(DlBlendMode mode)=0
virtual void setColor(DlColor color)=0
virtual void setInvertColors(bool invert)=0
virtual void drawRoundRect(const DlRoundRect &rrect)=0
virtual void drawRect(const DlRect &rect)=0
virtual void setStrokeCap(DlStrokeCap cap)=0
virtual void clipRoundRect(const DlRoundRect &rrect, DlClipOp clip_op, bool is_aa)=0
virtual void saveLayer(const DlRect &bounds, const SaveLayerOptions options, const DlImageFilter *backdrop=nullptr, std::optional< int64_t > backdrop_id=std::nullopt)=0
virtual void drawOval(const DlRect &bounds)=0
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
flutter::DisplayList DisplayList
std::vector< Point > points