5#ifndef FLUTTER_DISPLAY_LIST_UTILS_DL_MATRIX_CLIP_TRACKER_H_
6#define FLUTTER_DISPLAY_LIST_UTILS_DL_MATRIX_CLIP_TRACKER_H_
56 matrix_ = matrix_.
Scale({sx, sy, 1.0f});
72 0.0f, 0.0f, 1.0f, 0.0f,
126 const DlRect& cull_bounds);
137 const DlRect& cull_bounds);
148 const DlRect& cull_bounds);
160 const DlRect& cull_bounds);
168 static bool GetLocalCorners(
DlPoint corners[4],
void translate(DlScalar tx, DlScalar ty)
bool mapRect(DlRect *rect) const
static bool TransformedRectCoversBounds(const DlRect &local_rect, const DlMatrix &matrix, const DlRect &cull_bounds)
Checks if the local rect, when transformed by the matrix, completely covers the indicated culling bou...
bool inverseTransform(const DisplayListMatrixClipState &other_tracker)
DlRect GetDeviceCullCoverage() const
bool mapRect(const DlRect &src, DlRect *mapped) const
bool using_4x4_matrix() const
bool has_perspective() const
void transform2DAffine(DlScalar mxx, DlScalar mxy, DlScalar mxt, DlScalar myx, DlScalar myy, DlScalar myt)
void scale(DlScalar sx, DlScalar sy)
static bool TransformedRoundSuperellipseCoversBounds(const DlRoundSuperellipse &local_rse, const DlMatrix &matrix, const DlRect &cull_bounds)
Checks if the local round superellipse, when transformed by the matrix, completely covers the indicat...
bool rsuperellipse_covers_cull(const DlRoundSuperellipse &content) const
void clipRect(const DlRect &rect, DlClipOp op, bool is_aa)
DisplayListMatrixClipState(const DisplayListMatrixClipState &other)=default
const DlMatrix & matrix() const
bool rrect_covers_cull(const DlRoundRect &content) const
void clipRRect(const DlRoundRect &rrect, DlClipOp op, bool is_aa)
bool is_matrix_invertable() const
void clipRSuperellipse(const DlRoundSuperellipse &rse, DlClipOp op, bool is_aa)
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)
void setTransform(const DlMatrix &matrix)
void resetLocalCullRect(const DlRect &cull_rect)
static bool TransformedRRectCoversBounds(const DlRoundRect &local_rrect, const DlMatrix &matrix, const DlRect &cull_bounds)
Checks if the local round rect, when transformed by the matrix, completely covers the indicated culli...
bool content_culled(const DlRect &content_bounds) const
void transform(const DlMatrix &matrix)
void rotate(DlRadians angle)
void clipPath(const DlPath &path, DlClipOp op, bool is_aa)
bool is_cull_rect_empty() const
void resetDeviceCullRect(const DlRect &cull_rect)
bool mapAndClipRect(DlRect *rect) const
Maps the rect by the current matrix and then clips it against the current cull rect,...
bool oval_covers_cull(const DlRect &content_bounds) const
DlRect GetLocalCullCoverage() const
bool rect_covers_cull(const DlRect &content) const
void clipOval(const DlRect &bounds, DlClipOp op, bool is_aa)
void skew(DlScalar skx, DlScalar sky)
static bool TransformedOvalCoversBounds(const DlRect &local_oval_bounds, const DlMatrix &matrix, const DlRect &cull_bounds)
Checks if an oval defined by the local bounds, when transformed by the matrix, completely covers the ...
union flutter::testing::@2824::KeyboardChange::@78 content
impeller::Scalar DlScalar
impeller::Matrix DlMatrix
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.
constexpr bool IsAffine() const
constexpr Matrix Translate(const Vector3 &t) const
bool IsInvertible() const
static constexpr Matrix MakeColumn(Scalar m0, Scalar m1, Scalar m2, Scalar m3, Scalar m4, Scalar m5, Scalar m6, Scalar m7, Scalar m8, Scalar m9, Scalar m10, Scalar m11, Scalar m12, Scalar m13, Scalar m14, Scalar m15)
static constexpr Matrix MakeSkew(Scalar sx, Scalar sy)
constexpr Matrix Scale(const Vector3 &s) const
static Matrix MakeRotationZ(Radians r)
constexpr bool HasPerspective() const
constexpr bool IsAligned2D(Scalar tolerance=0) const
constexpr bool IsEmpty() const
Returns true if either of the width or height are 0, negative, or NaN.
constexpr TRect TransformAndClipBounds(const Matrix &transform) const
Creates a new bounding box that contains this transformed rectangle, clipped against the near clippin...