Flutter Engine
 
Loading...
Searching...
No Matches
dl_builder.h
Go to the documentation of this file.
1// Copyright 2013 The Flutter Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef FLUTTER_IMPELLER_TOOLKIT_INTEROP_DL_BUILDER_H_
6#define FLUTTER_IMPELLER_TOOLKIT_INTEROP_DL_BUILDER_H_
7
21
22namespace impeller::interop {
23
25 : public Object<DisplayListBuilder,
26 IMPELLER_INTERNAL_HANDLE_NAME(ImpellerDisplayListBuilder)> {
27 public:
28 explicit DisplayListBuilder(const ImpellerRect* rect);
29
31
33
35
36 void Save();
37
38 void SaveLayer(const Rect& bounds,
39 const Paint* paint,
40 const ImageFilter* backdrop);
41
42 void Restore();
43
44 void Scale(Size scale);
45
46 void Rotate(Degrees angle);
47
48 void Translate(Point translation);
49
50 Matrix GetTransform() const;
51
52 void SetTransform(const Matrix& matrix);
53
54 void Transform(const Matrix& matrix);
55
56 void ResetTransform();
57
58 uint32_t GetSaveCount() const;
59
60 void RestoreToCount(uint32_t count);
61
62 void ClipRect(const Rect& rect, flutter::DlClipOp op);
63
64 void ClipOval(const Rect& rect, flutter::DlClipOp op);
65
66 void ClipRoundedRect(const Rect& rect,
67 const RoundingRadii& radii,
69
70 void ClipPath(const Path& path, flutter::DlClipOp op);
71
72 void DrawPaint(const Paint& paint);
73
74 void DrawLine(const Point& from, const Point& to, const Paint& paint);
75
76 void DrawDashedLine(const Point& from,
77 const Point& to,
78 Scalar on_length,
79 Scalar off_length,
80 const Paint& paint);
81
82 void DrawRect(const Rect& rect, const Paint& paint);
83
84 void DrawOval(const Rect& oval_bounds, const Paint& paint);
85
86 void DrawRoundedRect(const Rect& rect,
87 const RoundingRadii& radii,
88 const Paint& paint);
89
90 void DrawRoundedRectDifference(const Rect& outer_rect,
91 const RoundingRadii& outer_radii,
92 const Rect& inner_rect,
93 const RoundingRadii& inner_radii,
94 const Paint& paint);
95
96 void DrawPath(const Path& path, const Paint& paint);
97
98 void DrawTexture(const Texture& texture,
99 const Point& point,
101 const Paint* paint);
102
103 void DrawTextureRect(const Texture& texture,
104 const Rect& src_rect,
105 const Rect& dst_rect,
107 const Paint* paint);
108
109 void DrawDisplayList(const DisplayList& dl, Scalar opacity);
110
111 void DrawParagraph(const Paragraph& paragraph, Point point);
112
113 void DrawShadow(const Path& path,
114 const flutter::DlColor& color,
115 float elevation,
116 bool occluder_is_transparent,
117 float device_pixel_ratio);
118
120
121 private:
123};
124
125} // namespace impeller::interop
126
127#endif // FLUTTER_IMPELLER_TOOLKIT_INTEROP_DL_BUILDER_H_
void DrawPaint(const Paint &paint)
void ClipRoundedRect(const Rect &rect, const RoundingRadii &radii, flutter::DlClipOp op)
Definition dl_builder.cc:77
void DrawLine(const Point &from, const Point &to, const Paint &paint)
void ClipOval(const Rect &rect, flutter::DlClipOp op)
Definition dl_builder.cc:73
void RestoreToCount(uint32_t count)
Definition dl_builder.cc:65
void DrawShadow(const Path &path, const flutter::DlColor &color, float elevation, bool occluder_is_transparent, float device_pixel_ratio)
void DrawTexture(const Texture &texture, const Point &point, flutter::DlImageSampling sampling, const Paint *paint)
void DrawPath(const Path &path, const Paint &paint)
void DrawDashedLine(const Point &from, const Point &to, Scalar on_length, Scalar off_length, const Paint &paint)
void SaveLayer(const Rect &bounds, const Paint *paint, const ImageFilter *backdrop)
Definition dl_builder.cc:20
void DrawDisplayList(const DisplayList &dl, Scalar opacity)
void DrawRect(const Rect &rect, const Paint &paint)
Definition dl_builder.cc:87
ScopedObject< DisplayList > Build()
DisplayListBuilder(const DisplayListBuilder &)=delete
void ClipRect(const Rect &rect, flutter::DlClipOp op)
Definition dl_builder.cc:69
void DrawParagraph(const Paragraph &paragraph, Point point)
void Translate(Point translation)
Definition dl_builder.cc:41
void Transform(const Matrix &matrix)
Definition dl_builder.cc:53
void DrawRoundedRect(const Rect &rect, const RoundingRadii &radii, const Paint &paint)
Definition dl_builder.cc:95
void DrawTextureRect(const Texture &texture, const Rect &src_rect, const Rect &dst_rect, flutter::DlImageSampling sampling, const Paint *paint)
DisplayListBuilder & operator=(const DisplayListBuilder &)=delete
void ClipPath(const Path &path, flutter::DlClipOp op)
Definition dl_builder.cc:83
void DrawRoundedRectDifference(const Rect &outer_rect, const RoundingRadii &outer_radii, const Rect &inner_rect, const RoundingRadii &inner_radii, const Paint &paint)
void DrawOval(const Rect &oval_bounds, const Paint &paint)
Definition dl_builder.cc:91
void SetTransform(const Matrix &matrix)
Definition dl_builder.cc:49
FlTexture * texture
float Scalar
Definition scalar.h:19
A 4x4 matrix using column-major storage.
Definition matrix.h:37