7#include "flutter/display_list/skia/dl_sk_canvas.h"
9#include "flutter/display_list/skia/dl_sk_conversions.h"
10#include "flutter/display_list/skia/dl_sk_dispatcher.h"
11#include "flutter/fml/trace_event.h"
82 delegate_->
scale(sx, sy);
86 delegate_->
rotate(degrees);
90 delegate_->
skew(sx, sy);
111 mwx, mwy, mwz, mwt));
125 delegate_->
concat(*matrix44);
209 SkScalar intervals[2] = {on_length, off_length};
318 if (opacity < SK_Scalar1 && !display_list->can_apply_group_opacity()) {
327 if (display_list->has_rtree()) {
330 display_list->Dispatch(dispatcher);
344 const std::shared_ptr<impeller::TextFrame>& text_frame,
354 bool transparent_occluder,
357 transparent_occluder, dpr);
364 dContext->flushAndSubmit();
static GrDirectContext * GrAsDirectContext(GrContext_Base *base)
int saveLayer(const SkRect *bounds, const SkPaint *paint)
void drawRect(const SkRect &rect, const SkPaint &paint)
void drawOval(const SkRect &oval, const SkPaint &paint)
void clipRect(const SkRect &rect, SkClipOp op, bool doAntiAlias)
void drawPoints(PointMode mode, size_t count, const SkPoint pts[], const SkPaint &paint)
void translate(SkScalar dx, SkScalar dy)
void drawImageNine(const SkImage *image, const SkIRect ¢er, const SkRect &dst, SkFilterMode filter, const SkPaint *paint=nullptr)
void drawColor(SkColor color, SkBlendMode mode=SkBlendMode::kSrcOver)
SkRect getLocalClipBounds() const
virtual GrRecordingContext * recordingContext() const
void drawPaint(const SkPaint &paint)
void drawLine(SkScalar x0, SkScalar y0, SkScalar x1, SkScalar y1, const SkPaint &paint)
virtual SkISize getBaseLayerSize() const
SkM44 getLocalToDevice() const
void rotate(SkScalar degrees)
void restoreToCount(int saveCount)
void drawRRect(const SkRRect &rrect, const SkPaint &paint)
SkMatrix getTotalMatrix() const
void drawArc(const SkRect &oval, SkScalar startAngle, SkScalar sweepAngle, bool useCenter, const SkPaint &paint)
void clipPath(const SkPath &path, SkClipOp op, bool doAntiAlias)
SkIRect getDeviceClipBounds() const
void drawImageRect(const SkImage *, const SkRect &src, const SkRect &dst, const SkSamplingOptions &, const SkPaint *, SrcRectConstraint)
void drawPath(const SkPath &path, const SkPaint &paint)
void drawAtlas(const SkImage *atlas, const SkRSXform xform[], const SkRect tex[], const SkColor colors[], int count, SkBlendMode mode, const SkSamplingOptions &sampling, const SkRect *cullRect, const SkPaint *paint)
void setMatrix(const SkM44 &matrix)
void drawDRRect(const SkRRect &outer, const SkRRect &inner, const SkPaint &paint)
void scale(SkScalar sx, SkScalar sy)
void concat(const SkMatrix &matrix)
void drawVertices(const SkVertices *vertices, SkBlendMode mode, const SkPaint &paint)
SkImageInfo imageInfo() const
void skew(SkScalar sx, SkScalar sy)
void drawTextBlob(const SkTextBlob *blob, SkScalar x, SkScalar y, const SkPaint &paint)
void drawImage(const SkImage *image, SkScalar left, SkScalar top)
bool quickReject(const SkRect &rect) const
void clipRRect(const SkRRect &rrect, SkClipOp op, bool doAntiAlias)
int saveLayerAlphaf(const SkRect *bounds, float alpha)
void drawCircle(SkScalar cx, SkScalar cy, SkScalar radius, const SkPaint &paint)
static sk_sp< SkPathEffect > Make(const SkScalar intervals[], int count, SkScalar phase)
static SkMatrix MakeAll(SkScalar scaleX, SkScalar skewX, SkScalar transX, SkScalar skewY, SkScalar scaleY, SkScalar transY, SkScalar pers0, SkScalar pers1, SkScalar pers2)
void setPathEffect(sk_sp< SkPathEffect > pathEffect)
void DrawPoints(PointMode mode, uint32_t count, const SkPoint pts[], const DlPaint &paint) override
void Skew(SkScalar sx, SkScalar sy) override
SkRect GetDestinationClipBounds() const override
int GetSaveCount() const override
void TransformReset() override
void DrawArc(const SkRect &bounds, SkScalar start, SkScalar sweep, bool useCenter, const DlPaint &paint) override
SkRect GetLocalClipBounds() const override
void DrawCircle(const SkPoint ¢er, SkScalar radius, const DlPaint &paint) override
void DrawColor(DlColor color, DlBlendMode mode) override
void DrawTextBlob(const sk_sp< SkTextBlob > &blob, SkScalar x, SkScalar y, const DlPaint &paint) override
void SetTransform(const SkMatrix *matrix) override
void ClipPath(const SkPath &path, ClipOp clip_op, bool is_aa) override
void Transform(const SkMatrix *matrix) override
void DrawRRect(const SkRRect &rrect, const DlPaint &paint) override
void DrawAtlas(const sk_sp< DlImage > &atlas, const SkRSXform xform[], const SkRect tex[], const DlColor colors[], int count, DlBlendMode mode, DlImageSampling sampling, const SkRect *cullRect, const DlPaint *paint=nullptr) override
void ClipRect(const SkRect &rect, ClipOp clip_op, bool is_aa) override
void Translate(SkScalar tx, SkScalar ty) override
void ClipRRect(const SkRRect &rrect, ClipOp clip_op, bool is_aa) override
void DrawLine(const SkPoint &p0, const SkPoint &p1, const DlPaint &paint) override
void Rotate(SkScalar degrees) override
void TransformFullPerspective(SkScalar mxx, SkScalar mxy, SkScalar mxz, SkScalar mxt, SkScalar myx, SkScalar myy, SkScalar myz, SkScalar myt, SkScalar mzx, SkScalar mzy, SkScalar mzz, SkScalar mzt, SkScalar mwx, SkScalar mwy, SkScalar mwz, SkScalar mwt) override
void DrawVertices(const DlVertices *vertices, DlBlendMode mode, const DlPaint &paint) override
void DrawImageNine(const sk_sp< DlImage > &image, const SkIRect ¢er, const SkRect &dst, DlFilterMode filter, const DlPaint *paint=nullptr) override
SkMatrix GetTransform() const override
void DrawRect(const SkRect &rect, const DlPaint &paint) override
void DrawShadow(const SkPath &path, const DlColor color, const SkScalar elevation, bool transparent_occluder, SkScalar dpr) override
void Transform2DAffine(SkScalar mxx, SkScalar mxy, SkScalar mxt, SkScalar myx, SkScalar myy, SkScalar myt) override
void DrawOval(const SkRect &bounds, const DlPaint &paint) override
void DrawImageRect(const sk_sp< DlImage > &image, const SkRect &src, const SkRect &dst, DlImageSampling sampling, const DlPaint *paint=nullptr, SrcRectConstraint constraint=SrcRectConstraint::kFast) override
SkISize GetBaseLayerSize() const override
void DrawImage(const sk_sp< DlImage > &image, const SkPoint point, DlImageSampling sampling, const DlPaint *paint=nullptr) override
void DrawTextFrame(const std::shared_ptr< impeller::TextFrame > &text_frame, SkScalar x, SkScalar y, const DlPaint &paint) override
void Scale(SkScalar sx, SkScalar sy) override
SkM44 GetTransformFullPerspective() const override
void set_canvas(SkCanvas *canvas)
void DrawDisplayList(const sk_sp< DisplayList > display_list, SkScalar opacity=SK_Scalar1) override
void DrawDashedLine(const DlPoint &p0, const DlPoint &p1, DlScalar on_length, DlScalar off_length, const DlPaint &paint) override
void DrawDRRect(const SkRRect &outer, const SkRRect &inner, const DlPaint &paint) override
void SaveLayer(const SkRect *bounds, const DlPaint *paint=nullptr, const DlImageFilter *backdrop=nullptr) override
void RestoreToCount(int restore_count) override
SkImageInfo GetImageInfo() const override
bool QuickReject(const SkRect &bounds) const override
void DrawPaint(const DlPaint &paint) override
void DrawPath(const SkPath &path, const DlPaint &paint) override
Backend implementation of |DlOpReceiver| for |SkCanvas|.
static void DrawShadow(SkCanvas *canvas, const SkPath &path, DlColor color, float elevation, bool transparentOccluder, SkScalar dpr)
Holds all of the data (both required and optional) for a DisplayList drawVertices call.
SkOptionalPaint(const DlPaint *dl_paint)
#define FML_CHECK(condition)
sk_sp< const SkImage > atlas
unsigned useCenter Optional< SkMatrix > matrix
Optional< SkRect > bounds
sk_sp< const SkImage > image
sk_sp< const SkImageFilter > backdrop
sk_sp< SkBlender > blender SkRect rect
PODArray< SkColor > colors
SkSamplingOptions sampling
impeller::Scalar DlScalar
SkPaint ToSk(const DlPaint &paint)
const SkPoint & ToSkPoint(const DlPoint &point)
SkPaint ToStrokedSk(const DlPaint &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
SkPaint ToNonShaderSk(const DlPaint &paint)
it will be possible to load the file into Perfetto s trace viewer disable asset Prevents usage of any non test fonts unless they were explicitly Loaded via prefetched default font Indicates whether the embedding started a prefetch of the default font manager before creating the engine run In non interactive mode
static SkRect Make(const SkISize &size)
#define TRACE_EVENT0(category_group, name)