Flutter Engine Uber Docs
Docs for the entire Flutter Engine repo.
 
Loading...
Searching...
No Matches
canvas.cc File Reference
#include <vector>
#include "flutter/display_list/dl_builder.h"
#include "flutter/display_list/dl_text_skia.h"
#include "flutter/display_list/geometry/dl_geometry_types.h"
#include "flutter/skwasm/canvas_text.h"
#include "flutter/skwasm/export.h"
#include "flutter/skwasm/helpers.h"
#include "flutter/skwasm/text/text_types.h"
#include "flutter/skwasm/wrappers.h"
#include "third_party/skia/include/core/SkPath.h"
#include "third_party/skia/include/core/SkPathBuilder.h"
#include "third_party/skia/modules/skparagraph/include/Paragraph.h"

Go to the source code of this file.

Functions

SKWASM_EXPORT void canvas_saveLayer (flutter::DisplayListBuilder *canvas, flutter::DlRect *rect, flutter::DlPaint *paint, Skwasm::sp_wrapper< flutter::DlImageFilter > *backdrop)
 
SKWASM_EXPORT void canvas_save (flutter::DisplayListBuilder *canvas)
 
SKWASM_EXPORT void canvas_restore (flutter::DisplayListBuilder *canvas)
 
SKWASM_EXPORT void canvas_restoreToCount (flutter::DisplayListBuilder *canvas, int count)
 
SKWASM_EXPORT int canvas_getSaveCount (flutter::DisplayListBuilder *canvas)
 
SKWASM_EXPORT void canvas_translate (flutter::DisplayListBuilder *canvas, float dx, float dy)
 
SKWASM_EXPORT void canvas_scale (flutter::DisplayListBuilder *canvas, float sx, float sy)
 
SKWASM_EXPORT void canvas_rotate (flutter::DisplayListBuilder *canvas, flutter::DlScalar degrees)
 
SKWASM_EXPORT void canvas_skew (flutter::DisplayListBuilder *canvas, flutter::DlScalar sx, flutter::DlScalar sy)
 
SKWASM_EXPORT void canvas_transform (flutter::DisplayListBuilder *canvas, const flutter::DlMatrix *matrix_44)
 
SKWASM_EXPORT void canvas_clear (flutter::DisplayListBuilder *canvas, uint32_t color)
 
SKWASM_EXPORT void canvas_clipRect (flutter::DisplayListBuilder *canvas, const flutter::DlRect *rect, flutter::DlClipOp op, bool antialias)
 
SKWASM_EXPORT void canvas_clipRRect (flutter::DisplayListBuilder *canvas, const SkScalar *rrect_values, bool antialias)
 
SKWASM_EXPORT void canvas_clipPath (flutter::DisplayListBuilder *canvas, SkPathBuilder *path, bool antialias)
 
SKWASM_EXPORT void canvas_drawColor (flutter::DisplayListBuilder *canvas, uint32_t color, flutter::DlBlendMode blend_mode)
 
SKWASM_EXPORT void canvas_drawLine (flutter::DisplayListBuilder *canvas, flutter::DlScalar x1, flutter::DlScalar y1, flutter::DlScalar x2, flutter::DlScalar y2, flutter::DlPaint *paint)
 
SKWASM_EXPORT void canvas_drawPaint (flutter::DisplayListBuilder *canvas, flutter::DlPaint *paint)
 
SKWASM_EXPORT void canvas_drawRect (flutter::DisplayListBuilder *canvas, flutter::DlRect *rect, flutter::DlPaint *paint)
 
SKWASM_EXPORT void canvas_drawRRect (flutter::DisplayListBuilder *canvas, const SkScalar *rrect_values, flutter::DlPaint *paint)
 
SKWASM_EXPORT void canvas_drawDRRect (flutter::DisplayListBuilder *canvas, const SkScalar *outer_rrect_values, const SkScalar *inner_rrect_values, flutter::DlPaint *paint)
 
SKWASM_EXPORT void canvas_drawOval (flutter::DisplayListBuilder *canvas, const flutter::DlRect *rect, flutter::DlPaint *paint)
 
SKWASM_EXPORT void canvas_drawCircle (flutter::DisplayListBuilder *canvas, flutter::DlScalar x, flutter::DlScalar y, flutter::DlScalar radius, flutter::DlPaint *paint)
 
SKWASM_EXPORT void canvas_drawArc (flutter::DisplayListBuilder *canvas, const flutter::DlRect *rect, flutter::DlScalar start_angle_degrees, flutter::DlScalar sweep_angle_degrees, bool use_center, flutter::DlPaint *paint)
 
SKWASM_EXPORT void canvas_drawPath (flutter::DisplayListBuilder *canvas, SkPathBuilder *path, flutter::DlPaint *paint)
 
SKWASM_EXPORT void canvas_drawShadow (flutter::DisplayListBuilder *canvas, SkPathBuilder *path, flutter::DlScalar elevation, flutter::DlScalar device_pixel_ratio, uint32_t color, bool transparent_occluder)
 
SKWASM_EXPORT void canvas_drawParagraph (flutter::DisplayListBuilder *canvas, Skwasm::Paragraph *paragraph, flutter::DlScalar x, flutter::DlScalar y)
 
SKWASM_EXPORT void canvas_drawPicture (flutter::DisplayListBuilder *canvas, flutter::DisplayList *picture)
 
SKWASM_EXPORT void canvas_drawImage (flutter::DisplayListBuilder *canvas, flutter::DlImage *image, flutter::DlScalar offset_x, flutter::DlScalar offset_y, flutter::DlPaint *paint, Skwasm::FilterQuality quality)
 
SKWASM_EXPORT void canvas_drawImageRect (flutter::DisplayListBuilder *canvas, flutter::DlImage *image, flutter::DlRect *source_rect, flutter::DlRect *dest_rect, flutter::DlPaint *paint, Skwasm::FilterQuality quality)
 
SKWASM_EXPORT void canvas_drawImageNine (flutter::DisplayListBuilder *canvas, flutter::DlImage *image, flutter::DlIRect *center_rect, flutter::DlRect *destination_rect, flutter::DlPaint *paint, Skwasm::FilterQuality quality)
 
SKWASM_EXPORT void canvas_drawVertices (flutter::DisplayListBuilder *canvas, Skwasm::sp_wrapper< flutter::DlVertices > *vertices, flutter::DlBlendMode mode, flutter::DlPaint *paint)
 
SKWASM_EXPORT void canvas_drawPoints (flutter::DisplayListBuilder *canvas, flutter::DlPointMode mode, flutter::DlPoint *points, int point_count, flutter::DlPaint *paint)
 
SKWASM_EXPORT void canvas_drawAtlas (flutter::DisplayListBuilder *canvas, flutter::DlImage *atlas, flutter::DlRSTransform *transforms, flutter::DlRect *rects, uint32_t *colors, int sprite_count, flutter::DlBlendMode mode, flutter::DlRect *cull_rect, flutter::DlPaint *paint)
 
SKWASM_EXPORT void canvas_getTransform (flutter::DisplayListBuilder *canvas, flutter::DlMatrix *out_transform)
 
SKWASM_EXPORT void canvas_getLocalClipBounds (flutter::DisplayListBuilder *canvas, flutter::DlRect *out_rect)
 
SKWASM_EXPORT void canvas_getDeviceClipBounds (flutter::DisplayListBuilder *canvas, flutter::DlIRect *out_rect)
 
SKWASM_EXPORT bool canvas_quickReject (flutter::DisplayListBuilder *canvas, flutter::DlRect *rect)
 

Function Documentation

◆ canvas_clear()

SKWASM_EXPORT void canvas_clear ( flutter::DisplayListBuilder canvas,
uint32_t  color 
)

Definition at line 182 of file canvas.cc.

183 {
184 canvas->DrawColor(flutter::DlColor(color), flutter::DlBlendMode::kSrc);
185}
void DrawColor(DlColor color, DlBlendMode mode) override

References flutter::DisplayListBuilder::DrawColor().

◆ canvas_clipPath()

SKWASM_EXPORT void canvas_clipPath ( flutter::DisplayListBuilder canvas,
SkPathBuilder *  path,
bool  antialias 
)

Definition at line 201 of file canvas.cc.

203 {
204 canvas->ClipPath(flutter::DlPath(path->snapshot()),
206}
void ClipPath(const DlPath &path, DlClipOp clip_op=DlClipOp::kIntersect, bool is_aa=false) override
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
Definition switch_defs.h:52

References flutter::DisplayListBuilder::ClipPath(), and flutter::kIntersect.

◆ canvas_clipRect()

SKWASM_EXPORT void canvas_clipRect ( flutter::DisplayListBuilder canvas,
const flutter::DlRect rect,
flutter::DlClipOp  op,
bool  antialias 
)

Definition at line 187 of file canvas.cc.

190 {
191 canvas->ClipRect(*rect, op);
192}
void ClipRect(const DlRect &rect, DlClipOp clip_op=DlClipOp::kIntersect, bool is_aa=false) override

References flutter::DisplayListBuilder::ClipRect().

◆ canvas_clipRRect()

SKWASM_EXPORT void canvas_clipRRect ( flutter::DisplayListBuilder canvas,
const SkScalar *  rrect_values,
bool  antialias 
)

Definition at line 194 of file canvas.cc.

196 {
197 canvas->ClipRoundRect(Skwasm::CreateDlRRect(rrect_values),
199}
void ClipRoundRect(const DlRoundRect &rrect, DlClipOp clip_op=DlClipOp::kIntersect, bool is_aa=false) override
flutter::DlRoundRect CreateDlRRect(const float *f)
Definition helpers.h:61

References flutter::DisplayListBuilder::ClipRoundRect(), Skwasm::CreateDlRRect(), and flutter::kIntersect.

◆ canvas_drawArc()

SKWASM_EXPORT void canvas_drawArc ( flutter::DisplayListBuilder canvas,
const flutter::DlRect rect,
flutter::DlScalar  start_angle_degrees,
flutter::DlScalar  sweep_angle_degrees,
bool  use_center,
flutter::DlPaint paint 
)

Definition at line 266 of file canvas.cc.

271 {
272 canvas->DrawArc(*rect, start_angle_degrees, sweep_angle_degrees, use_center,
273 paint ? *paint : flutter::DlPaint());
274}
void DrawArc(const DlRect &bounds, DlScalar start, DlScalar sweep, bool useCenter, const DlPaint &paint) override
flutter::DlPaint DlPaint

References flutter::DisplayListBuilder::DrawArc(), and use_center.

◆ canvas_drawAtlas()

SKWASM_EXPORT void canvas_drawAtlas ( flutter::DisplayListBuilder canvas,
flutter::DlImage atlas,
flutter::DlRSTransform transforms,
flutter::DlRect rects,
uint32_t *  colors,
int  sprite_count,
flutter::DlBlendMode  mode,
flutter::DlRect cull_rect,
flutter::DlPaint paint 
)

Definition at line 355 of file canvas.cc.

363 {
364 std::vector<flutter::DlColor> dl_colors(sprite_count);
365 for (int i = 0; i < sprite_count; i++) {
366 dl_colors[i] = flutter::DlColor(colors[i]);
367 }
368 canvas->DrawAtlas(
369 sk_ref_sp(atlas), transforms, rects, dl_colors.data(), sprite_count, mode,
371 cull_rect, paint);
372}
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
flutter::DlImageSampling SamplingOptionsForQuality(FilterQuality quality)
Definition helpers.h:101

References flutter::DisplayListBuilder::DrawAtlas(), i, Skwasm::medium, and Skwasm::SamplingOptionsForQuality().

◆ canvas_drawCircle()

SKWASM_EXPORT void canvas_drawCircle ( flutter::DisplayListBuilder canvas,
flutter::DlScalar  x,
flutter::DlScalar  y,
flutter::DlScalar  radius,
flutter::DlPaint paint 
)

Definition at line 257 of file canvas.cc.

261 {
262 canvas->DrawCircle(flutter::DlPoint{x, y}, radius,
263 paint ? *paint : flutter::DlPaint());
264}
void DrawCircle(const DlPoint &center, DlScalar radius, const DlPaint &paint) override
int32_t x
double y

References flutter::DisplayListBuilder::DrawCircle(), x, and y.

◆ canvas_drawColor()

SKWASM_EXPORT void canvas_drawColor ( flutter::DisplayListBuilder canvas,
uint32_t  color,
flutter::DlBlendMode  blend_mode 
)

Definition at line 208 of file canvas.cc.

210 {
211 canvas->DrawColor(flutter::DlColor(color), blend_mode);
212}

References flutter::DisplayListBuilder::DrawColor().

◆ canvas_drawDRRect()

SKWASM_EXPORT void canvas_drawDRRect ( flutter::DisplayListBuilder canvas,
const SkScalar *  outer_rrect_values,
const SkScalar *  inner_rrect_values,
flutter::DlPaint paint 
)

Definition at line 242 of file canvas.cc.

245 {
246 canvas->DrawDiffRoundRect(Skwasm::CreateDlRRect(outer_rrect_values),
247 Skwasm::CreateDlRRect(inner_rrect_values),
248 paint ? *paint : flutter::DlPaint());
249}
void DrawDiffRoundRect(const DlRoundRect &outer, const DlRoundRect &inner, const DlPaint &paint) override

References Skwasm::CreateDlRRect(), and flutter::DisplayListBuilder::DrawDiffRoundRect().

◆ canvas_drawImage()

SKWASM_EXPORT void canvas_drawImage ( flutter::DisplayListBuilder canvas,
flutter::DlImage image,
flutter::DlScalar  offset_x,
flutter::DlScalar  offset_y,
flutter::DlPaint paint,
Skwasm::FilterQuality  quality 
)

Definition at line 306 of file canvas.cc.

311 {
312 canvas->DrawImage(sk_ref_sp(image), flutter::DlPoint{offset_x, offset_y},
313 Skwasm::SamplingOptionsForQuality(quality), paint);
314}
void DrawImage(const sk_sp< DlImage > &image, const DlPoint &point, DlImageSampling sampling, const DlPaint *paint=nullptr) override
FlutterVulkanImage * image

References flutter::DisplayListBuilder::DrawImage(), image, and Skwasm::SamplingOptionsForQuality().

◆ canvas_drawImageNine()

SKWASM_EXPORT void canvas_drawImageNine ( flutter::DisplayListBuilder canvas,
flutter::DlImage image,
flutter::DlIRect center_rect,
flutter::DlRect destination_rect,
flutter::DlPaint paint,
Skwasm::FilterQuality  quality 
)

Definition at line 327 of file canvas.cc.

332 {
333 canvas->DrawImageNine(sk_ref_sp(image), *center_rect, *destination_rect,
334 FilterModeForQuality(quality), paint);
335}
void DrawImageNine(const sk_sp< DlImage > &image, const DlIRect &center, const DlRect &dst, DlFilterMode filter, const DlPaint *paint=nullptr) override
flutter::DlFilterMode FilterModeForQuality(FilterQuality quality)
Definition helpers.h:90

References flutter::DisplayListBuilder::DrawImageNine(), and image.

◆ canvas_drawImageRect()

SKWASM_EXPORT void canvas_drawImageRect ( flutter::DisplayListBuilder canvas,
flutter::DlImage image,
flutter::DlRect source_rect,
flutter::DlRect dest_rect,
flutter::DlPaint paint,
Skwasm::FilterQuality  quality 
)

Definition at line 316 of file canvas.cc.

321 {
322 canvas->DrawImageRect(sk_ref_sp(image), *source_rect, *dest_rect,
323 Skwasm::SamplingOptionsForQuality(quality), paint,
325}
void DrawImageRect(const sk_sp< DlImage > &image, const DlRect &src, const DlRect &dst, DlImageSampling sampling, const DlPaint *paint=nullptr, DlSrcRectConstraint constraint=DlSrcRectConstraint::kFast) override

References flutter::DisplayListBuilder::DrawImageRect(), image, flutter::kStrict, and Skwasm::SamplingOptionsForQuality().

◆ canvas_drawLine()

Definition at line 214 of file canvas.cc.

219 {
220 canvas->DrawLine(flutter::DlPoint{x1, y1}, flutter::DlPoint{x2, y2},
221 paint ? *paint : flutter::DlPaint());
222}
void DrawLine(const DlPoint &p0, const DlPoint &p1, const DlPaint &paint) override

References flutter::DisplayListBuilder::DrawLine().

◆ canvas_drawOval()

SKWASM_EXPORT void canvas_drawOval ( flutter::DisplayListBuilder canvas,
const flutter::DlRect rect,
flutter::DlPaint paint 
)

Definition at line 251 of file canvas.cc.

253 {
254 canvas->DrawOval(*rect, paint ? *paint : flutter::DlPaint());
255}
void DrawOval(const DlRect &bounds, const DlPaint &paint) override

References flutter::DisplayListBuilder::DrawOval().

◆ canvas_drawPaint()

SKWASM_EXPORT void canvas_drawPaint ( flutter::DisplayListBuilder canvas,
flutter::DlPaint paint 
)

Definition at line 224 of file canvas.cc.

225 {
226 canvas->DrawPaint(paint ? *paint : flutter::DlPaint());
227}
void DrawPaint(const DlPaint &paint) override

References flutter::DisplayListBuilder::DrawPaint().

◆ canvas_drawParagraph()

SKWASM_EXPORT void canvas_drawParagraph ( flutter::DisplayListBuilder canvas,
Skwasm::Paragraph paragraph,
flutter::DlScalar  x,
flutter::DlScalar  y 
)

Definition at line 293 of file canvas.cc.

296 {
297 auto painter = SkwasmParagraphPainter(*canvas, paragraph->paints);
298 paragraph->skia_paragraph->paint(&painter, x, y);
299}
std::unique_ptr< skia::textlayout::Paragraph > skia_paragraph
Definition text_types.h:49
std::vector< flutter::DlPaint > paints
Definition text_types.h:50

References Skwasm::Paragraph::paints, Skwasm::Paragraph::skia_paragraph, x, and y.

◆ canvas_drawPath()

SKWASM_EXPORT void canvas_drawPath ( flutter::DisplayListBuilder canvas,
SkPathBuilder *  path,
flutter::DlPaint paint 
)

Definition at line 276 of file canvas.cc.

278 {
279 canvas->DrawPath(flutter::DlPath(path->snapshot()),
280 paint ? *paint : flutter::DlPaint());
281}
void DrawPath(const DlPath &path, const DlPaint &paint) override

References flutter::DisplayListBuilder::DrawPath().

◆ canvas_drawPicture()

SKWASM_EXPORT void canvas_drawPicture ( flutter::DisplayListBuilder canvas,
flutter::DisplayList picture 
)

Definition at line 301 of file canvas.cc.

302 {
303 canvas->DrawDisplayList(sk_ref_sp(picture));
304}
void DrawDisplayList(const sk_sp< DisplayList > display_list, DlScalar opacity=SK_Scalar1) override

References flutter::DisplayListBuilder::DrawDisplayList().

◆ canvas_drawPoints()

SKWASM_EXPORT void canvas_drawPoints ( flutter::DisplayListBuilder canvas,
flutter::DlPointMode  mode,
flutter::DlPoint points,
int  point_count,
flutter::DlPaint paint 
)

Definition at line 346 of file canvas.cc.

350 {
351 canvas->DrawPoints(mode, point_count, points,
352 paint ? *paint : flutter::DlPaint());
353}
void DrawPoints(DlPointMode mode, uint32_t count, const DlPoint pts[], const DlPaint &paint) override
std::vector< Point > points

References flutter::DisplayListBuilder::DrawPoints(), and points.

◆ canvas_drawRect()

SKWASM_EXPORT void canvas_drawRect ( flutter::DisplayListBuilder canvas,
flutter::DlRect rect,
flutter::DlPaint paint 
)

Definition at line 229 of file canvas.cc.

231 {
232 canvas->DrawRect(*rect, paint ? *paint : flutter::DlPaint());
233}
void DrawRect(const DlRect &rect, const DlPaint &paint) override

References flutter::DisplayListBuilder::DrawRect().

◆ canvas_drawRRect()

SKWASM_EXPORT void canvas_drawRRect ( flutter::DisplayListBuilder canvas,
const SkScalar *  rrect_values,
flutter::DlPaint paint 
)

Definition at line 235 of file canvas.cc.

237 {
238 canvas->DrawRoundRect(Skwasm::CreateDlRRect(rrect_values),
239 paint ? *paint : flutter::DlPaint());
240}
void DrawRoundRect(const DlRoundRect &rrect, const DlPaint &paint) override

References Skwasm::CreateDlRRect(), and flutter::DisplayListBuilder::DrawRoundRect().

◆ canvas_drawShadow()

SKWASM_EXPORT void canvas_drawShadow ( flutter::DisplayListBuilder canvas,
SkPathBuilder *  path,
flutter::DlScalar  elevation,
flutter::DlScalar  device_pixel_ratio,
uint32_t  color,
bool  transparent_occluder 
)

Definition at line 283 of file canvas.cc.

288 {
289 canvas->DrawShadow(flutter::DlPath(path->snapshot()), flutter::DlColor(color),
290 elevation, transparent_occluder, device_pixel_ratio);
291}
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...

References flutter::DisplayListBuilder::DrawShadow().

◆ canvas_drawVertices()

SKWASM_EXPORT void canvas_drawVertices ( flutter::DisplayListBuilder canvas,
Skwasm::sp_wrapper< flutter::DlVertices > *  vertices,
flutter::DlBlendMode  mode,
flutter::DlPaint paint 
)

Definition at line 337 of file canvas.cc.

341 {
342 canvas->DrawVertices(vertices->Shared(), mode,
343 paint ? *paint : flutter::DlPaint());
344}
const std::shared_ptr< T > & Shared()
Definition helpers.h:21
void DrawVertices(const std::shared_ptr< DlVertices > &vertices, DlBlendMode mode, const DlPaint &paint) override

References flutter::DisplayListBuilder::DrawVertices(), and Skwasm::sp_wrapper< T >::Shared().

◆ canvas_getDeviceClipBounds()

SKWASM_EXPORT void canvas_getDeviceClipBounds ( flutter::DisplayListBuilder canvas,
flutter::DlIRect out_rect 
)

Definition at line 385 of file canvas.cc.

387 {
389}
DlRect GetDestinationClipCoverage() const override
Definition dl_builder.h:129
RoundOut(const TRect< U > &r)
Definition rect.h:679

References flutter::DisplayListBuilder::GetDestinationClipCoverage(), and impeller::TRect< T >::RoundOut().

◆ canvas_getLocalClipBounds()

SKWASM_EXPORT void canvas_getLocalClipBounds ( flutter::DisplayListBuilder canvas,
flutter::DlRect out_rect 
)

Definition at line 379 of file canvas.cc.

381 {
382 *out_rect = canvas->GetLocalClipCoverage();
383}
DlRect GetLocalClipCoverage() const override
Definition dl_builder.h:136

References flutter::DisplayListBuilder::GetLocalClipCoverage().

◆ canvas_getSaveCount()

SKWASM_EXPORT int canvas_getSaveCount ( flutter::DisplayListBuilder canvas)

Definition at line 150 of file canvas.cc.

150 {
151 return canvas->GetSaveCount();
152}
int GetSaveCount() const override
Definition dl_builder.h:62

References flutter::DisplayListBuilder::GetSaveCount().

◆ canvas_getTransform()

SKWASM_EXPORT void canvas_getTransform ( flutter::DisplayListBuilder canvas,
flutter::DlMatrix out_transform 
)

Definition at line 374 of file canvas.cc.

375 {
376 *out_transform = canvas->GetMatrix();
377}
DlMatrix GetMatrix() const override
Definition dl_builder.h:102

References flutter::DisplayListBuilder::GetMatrix().

◆ canvas_quickReject()

SKWASM_EXPORT bool canvas_quickReject ( flutter::DisplayListBuilder canvas,
flutter::DlRect rect 
)

Definition at line 391 of file canvas.cc.

392 {
393 return canvas->QuickReject(*rect);
394}
bool QuickReject(const DlRect &bounds) const override

References flutter::DisplayListBuilder::QuickReject().

◆ canvas_restore()

SKWASM_EXPORT void canvas_restore ( flutter::DisplayListBuilder canvas)

Definition at line 136 of file canvas.cc.

136 {
137 canvas->Restore();
138}

References flutter::DisplayListBuilder::Restore().

◆ canvas_restoreToCount()

SKWASM_EXPORT void canvas_restoreToCount ( flutter::DisplayListBuilder canvas,
int  count 
)

Definition at line 140 of file canvas.cc.

141 {
142 if (count > canvas->GetSaveCount()) {
143 // According to the docs:
144 // "If count is greater than the current getSaveCount then nothing happens."
145 return;
146 }
147 canvas->RestoreToCount(count);
148}
void RestoreToCount(int restore_count) override

References flutter::DisplayListBuilder::GetSaveCount(), and flutter::DisplayListBuilder::RestoreToCount().

◆ canvas_rotate()

SKWASM_EXPORT void canvas_rotate ( flutter::DisplayListBuilder canvas,
flutter::DlScalar  degrees 
)

Definition at line 166 of file canvas.cc.

167 {
168 canvas->Rotate(degrees);
169}
void Rotate(DlScalar degrees) override

References flutter::DisplayListBuilder::Rotate().

◆ canvas_save()

SKWASM_EXPORT void canvas_save ( flutter::DisplayListBuilder canvas)

Definition at line 132 of file canvas.cc.

132 {
133 canvas->Save();
134}

References flutter::DisplayListBuilder::Save().

◆ canvas_saveLayer()

SKWASM_EXPORT void canvas_saveLayer ( flutter::DisplayListBuilder canvas,
flutter::DlRect rect,
flutter::DlPaint paint,
Skwasm::sp_wrapper< flutter::DlImageFilter > *  backdrop 
)

Definition at line 123 of file canvas.cc.

127 {
128 canvas->SaveLayer(rect ? std::optional(*rect) : std::nullopt, paint,
129 backdrop ? backdrop->Raw() : nullptr);
130}
void SaveLayer(const std::optional< DlRect > &bounds, const DlPaint *paint=nullptr, const DlImageFilter *backdrop=nullptr, std::optional< int64_t > backdrop_id=std::nullopt) override
Definition ref_ptr.h:261

References Skwasm::sp_wrapper< T >::Raw(), and flutter::DisplayListBuilder::SaveLayer().

◆ canvas_scale()

SKWASM_EXPORT void canvas_scale ( flutter::DisplayListBuilder canvas,
float  sx,
float  sy 
)

Definition at line 160 of file canvas.cc.

162 {
163 canvas->Scale(sx, sy);
164}
void Scale(DlScalar sx, DlScalar sy) override

References flutter::DisplayListBuilder::Scale().

◆ canvas_skew()

SKWASM_EXPORT void canvas_skew ( flutter::DisplayListBuilder canvas,
flutter::DlScalar  sx,
flutter::DlScalar  sy 
)

Definition at line 171 of file canvas.cc.

173 {
174 canvas->Skew(sx, sy);
175}
void Skew(DlScalar sx, DlScalar sy) override

References flutter::DisplayListBuilder::Skew().

◆ canvas_transform()

SKWASM_EXPORT void canvas_transform ( flutter::DisplayListBuilder canvas,
const flutter::DlMatrix matrix_44 
)

Definition at line 177 of file canvas.cc.

178 {
179 canvas->Transform(*matrix_44);
180}
void Transform(const DlMatrix &matrix) override

References flutter::DisplayListBuilder::Transform().

◆ canvas_translate()

SKWASM_EXPORT void canvas_translate ( flutter::DisplayListBuilder canvas,
float  dx,
float  dy 
)

Definition at line 154 of file canvas.cc.

156 {
157 canvas->Translate(dx, dy);
158}
void Translate(DlScalar tx, DlScalar ty) override

References flutter::DisplayListBuilder::Translate().