5#ifndef FLUTTER_IMPELLER_ENTITY_GEOMETRY_GEOMETRY_H_
6#define FLUTTER_IMPELLER_ENTITY_GEOMETRY_GEOMETRY_H_
52 std::optional<Rect> inner_rect = std::nullopt);
61 static std::shared_ptr<Geometry>
MakeCover();
static void round(SkPoint *p)
static const int points[]
virtual std::optional< Rect > GetCoverage(const Matrix &transform) const =0
virtual Scalar ComputeAlphaCoverage(const Entity &entitys) const
static std::shared_ptr< Geometry > MakeCover()
virtual GeometryResult::Mode GetResultMode() const
static std::shared_ptr< Geometry > MakeOval(const Rect &rect)
static std::shared_ptr< Geometry > MakeLine(const Point &p0, const Point &p1, Scalar width, Cap cap)
static std::shared_ptr< Geometry > MakeCircle(const Point ¢er, Scalar radius)
static std::shared_ptr< Geometry > MakeRect(const Rect &rect)
static std::shared_ptr< Geometry > MakePointField(std::vector< Point > points, Scalar radius, bool round)
virtual GeometryResult GetPositionBuffer(const ContentContext &renderer, const Entity &entity, RenderPass &pass) const =0
static std::shared_ptr< Geometry > MakeRoundRect(const Rect &rect, const Size &radii)
virtual bool CanApplyMaskFilter() const
static GeometryResult ComputePositionGeometry(const ContentContext &renderer, const Tessellator::VertexGenerator &generator, const Entity &entity, RenderPass &pass)
static std::shared_ptr< Geometry > MakeStrokePath(const Path &path, Scalar stroke_width=0.0, Scalar miter_limit=4.0, Cap stroke_cap=Cap::kButt, Join stroke_join=Join::kMiter)
static std::shared_ptr< Geometry > MakeStrokedCircle(const Point ¢er, Scalar radius, Scalar stroke_width)
virtual bool CoversArea(const Matrix &transform, const Rect &rect) const
Determines if this geometry, transformed by the given transform, will completely cover all surface ar...
static std::shared_ptr< Geometry > MakeFillPath(const Path &path, std::optional< Rect > inner_rect=std::nullopt)
virtual bool IsAxisAlignedRect() const
Paths are lightweight objects that describe a collection of linear, quadratic, or cubic segments....
Render passes encode render commands directed as one specific render target into an underlying comman...
An object which produces a list of vertices as |Point|s that tessellate a previously provided shape a...
@ kNormal
Default priority level.
sk_sp< SkBlender > blender SkRect rect
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
@ kNone
Does not use the index buffer.
PrimitiveType
Decides how backend draws pixels based on input vertices.
static const GeometryResult kEmptyResult
static SkColor4f transform(SkColor4f c, SkColorSpace *src, SkColorSpace *dst)
const Scalar stroke_width
@ kNormal
The geometry has no overlapping triangles.
VertexBuffer vertex_buffer
A 4x4 matrix using column-major storage.