5#ifndef FLUTTER_DISPLAY_LIST_UTILS_DL_MATRIX_CLIP_TRACKER_H_
6#define FLUTTER_DISPLAY_LIST_UTILS_DL_MATRIX_CLIP_TRACKER_H_
10#include "flutter/display_list/dl_canvas.h"
11#include "flutter/display_list/geometry/dl_geometry_types.h"
12#include "flutter/fml/logging.h"
86 matrix_ = matrix_.
Scale({sx, sy, 1.0f});
102 mxx, myx, 0.0f, 0.0f,
103 mxy, myy, 0.0f, 0.0f,
104 0.0f, 0.0f, 1.0f, 0.0f,
132 *mapped =
src.TransformAndClipBounds(matrix_);
159 bool getLocalCullCorners(
DlPoint corners[4])
const;
160 void adjustCullRect(
const DlRect&
clip, ClipOp op,
bool is_aa);
static SkPath clip(const SkPath &path, const SkHalfPlane &plane)
static SkM44 ColMajor(const SkScalar c[16])
bool mapAndClipRect(SkRect *rect) const
Maps the rect by the current matrix and then clips it against the current cull rect,...
bool mapRect(DlRect *rect) const
bool inverseTransform(const DisplayListMatrixClipState &other_tracker)
void resetLocalCullRect(const SkRect &cull_rect)
bool mapRect(const DlRect &src, DlRect *mapped) const
void scale(SkScalar sx, SkScalar sy)
bool using_4x4_matrix() const
bool has_perspective() const
void clipRRect(const SkRRect &rrect, ClipOp op, bool is_aa)
SkMatrix matrix_3x3() const
void clipRect(const DlRect &rect, ClipOp op, bool is_aa)
DisplayListMatrixClipState(const DisplayListMatrixClipState &other)=default
void setTransform(const SkM44 &m44)
const DlMatrix & matrix() const
void rotate(SkScalar degrees)
bool content_culled(const SkRect &content_bounds) const
void transform2DAffine(SkScalar mxx, SkScalar mxy, SkScalar mxt, SkScalar myx, SkScalar myy, SkScalar myt)
SkRect device_cull_rect() const
bool is_matrix_invertable() const
bool mapRect(const SkRect &src, SkRect *mapped) const
bool rect_covers_cull(const SkRect &content) const
void setTransform(const DlMatrix &matrix)
bool mapRect(SkRect *rect) const
void clipPath(const SkPath &path, ClipOp op, bool is_aa)
void resetLocalCullRect(const DlRect &cull_rect)
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)
void transform(const SkMatrix &matrix)
void clipRect(const SkRect &rect, ClipOp op, bool is_aa)
void skew(SkScalar skx, SkScalar sky)
SkRect local_cull_rect() const
bool content_culled(const DlRect &content_bounds) const
void transform(const DlMatrix &matrix)
bool is_cull_rect_empty() const
void resetDeviceCullRect(const DlRect &cull_rect)
void setTransform(const SkMatrix &matrix)
bool oval_covers_cull(const DlRect &content_bounds) const
bool oval_covers_cull(const SkRect &content_bounds) const
void resetDeviceCullRect(const SkRect &cull_rect)
static bool is_3x3(const SkM44 &m44)
DisplayListMatrixClipState(const DlRect &cull_rect, const DlMatrix &matrix=DlMatrix())
bool rect_covers_cull(const DlRect &content) const
void translate(SkScalar tx, SkScalar ty)
bool rrect_covers_cull(const SkRRect &content) const
void transform(const SkM44 &m44)
union flutter::testing::@2836::KeyboardChange::@76 content
sk_sp< SkBlender > blender SkRect rect
constexpr DlMatrix ToDlMatrix(const SkMatrix &matrix)
impeller::Matrix DlMatrix
impeller::Degrees DlDegrees
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
const DlRect & ToDlRect(const SkRect &rect)
constexpr SkMatrix ToSkMatrix(const DlMatrix &matrix)
const SkRect & ToSkRect(const DlRect &rect)
A 4x4 matrix using column-major storage.
constexpr bool IsAffine() const
constexpr Matrix Translate(const Vector3 &t) 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)
Scalar GetDeterminant() const
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.