 |
Flutter Impeller
|
|
Go to the documentation of this file.
11 #include "impeller/entity/texture_fill.vert.h"
35 VertexBufferBuilder<TextureFillVertexShader::PerVertexData>
37 VertexBufferBuilder<SolidFillVertexShader::PerVertexData>& input,
39 Size texture_coverage,
40 Matrix effect_transform);
43 Rect texture_coverage,
44 Matrix effect_transform,
45 const ContentContext& renderer,
52 Path::Polyline polyline);
62 std::optional<Rect> inner_rect = std::nullopt);
71 static std::unique_ptr<Geometry>
MakeCover();
75 static std::unique_ptr<Geometry>
MakePointField(std::vector<Point> points,
virtual std::optional< Rect > GetCoverage(const Matrix &transform) const =0
static std::unique_ptr< Geometry > MakeRect(Rect rect)
std::pair< std::vector< Point >, std::vector< uint16_t > > TessellateConvex(Path::Polyline polyline)
Given a convex polyline, create a triangle fan structure.
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...
VertexBufferBuilder< TextureFillVertexShader::PerVertexData > ComputeUVGeometryCPU(VertexBufferBuilder< SolidFillVertexShader::PerVertexData > &input, Point texture_origin, Size texture_coverage, Matrix effect_transform)
Compute UV geometry for a VBB that contains only position geometry.
Paths are lightweight objects that describe a collection of linear, quadratic, or cubic segments....
static std::unique_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)
virtual GeometryVertexType GetVertexType() const =0
static std::unique_ptr< Geometry > MakeCover()
virtual GeometryResult GetPositionUVBuffer(Rect texture_coverage, Matrix effect_transform, const ContentContext &renderer, const Entity &entity, RenderPass &pass)
Render passes encode render commands directed as one specific render target into an underlying comman...
virtual GeometryResult GetPositionBuffer(const ContentContext &renderer, const Entity &entity, RenderPass &pass)=0
static std::unique_ptr< Geometry > MakePointField(std::vector< Point > points, Scalar radius, bool round)
static std::unique_ptr< Geometry > MakeFillPath(const Path &path, std::optional< Rect > inner_rect=std::nullopt)
VertexBuffer vertex_buffer
GeometryResult ComputeUVGeometryForRect(Rect source_rect, Rect texture_coverage, Matrix effect_transform, const ContentContext &renderer, const Entity &entity, RenderPass &pass)
A 4x4 matrix using column-major storage.