Flutter Impeller
impeller::StrokePathGeometry Class Referencefinal

A geometry that is created from a stroked path object. More...

#include <stroke_path_geometry.h>

Inheritance diagram for impeller::StrokePathGeometry:
impeller::Geometry

Public Member Functions

 StrokePathGeometry (const Path &path, Scalar stroke_width, Scalar miter_limit, Cap stroke_cap, Join stroke_join)
 
 ~StrokePathGeometry () override
 
Scalar GetStrokeWidth () const
 
Scalar GetMiterLimit () const
 
Cap GetStrokeCap () const
 
Join GetStrokeJoin () const
 
Scalar ComputeAlphaCoverage (const Matrix &transform) const override
 
- Public Member Functions inherited from impeller::Geometry
virtual ~Geometry ()
 
virtual bool CoversArea (const Matrix &transform, const Rect &rect) const
 Determines if this geometry, transformed by the given transform, will completely cover all surface area of the given rect. More...
 
virtual bool IsAxisAlignedRect () const
 
virtual bool CanApplyMaskFilter () const
 

Friends

class ImpellerBenchmarkAccessor
 
class ImpellerEntityUnitTestAccessor
 

Additional Inherited Members

- Static Public Member Functions inherited from impeller::Geometry
static std::unique_ptr< GeometryMakeFillPath (const Path &path, std::optional< Rect > inner_rect=std::nullopt)
 
static std::unique_ptr< GeometryMakeStrokePath (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::unique_ptr< GeometryMakeCover ()
 
static std::unique_ptr< GeometryMakeRect (const Rect &rect)
 
static std::unique_ptr< GeometryMakeOval (const Rect &rect)
 
static std::unique_ptr< GeometryMakeLine (const Point &p0, const Point &p1, Scalar width, Cap cap)
 
static std::unique_ptr< GeometryMakeCircle (const Point &center, Scalar radius)
 
static std::unique_ptr< GeometryMakeStrokedCircle (const Point &center, Scalar radius, Scalar stroke_width)
 
static std::unique_ptr< GeometryMakeRoundRect (const Rect &rect, const Size &radii)
 
static std::unique_ptr< GeometryMakeRoundSuperellipse (const Rect &rect, Scalar corner_radius)
 
static Scalar ComputeStrokeAlphaCoverage (const Matrix &entity, Scalar stroke_width)
 Compute an alpha value to simulate lower coverage of fractional pixel strokes. More...
 
static GeometryResult ComputePositionGeometry (const ContentContext &renderer, const Tessellator::VertexGenerator &generator, const Entity &entity, RenderPass &pass)
 

Detailed Description

A geometry that is created from a stroked path object.

Definition at line 14 of file stroke_path_geometry.h.

Constructor & Destructor Documentation

◆ StrokePathGeometry()

impeller::StrokePathGeometry::StrokePathGeometry ( const Path path,
Scalar  stroke_width,
Scalar  miter_limit,
Cap  stroke_cap,
Join  stroke_join 
)

Definition at line 546 of file stroke_path_geometry.cc.

551  : path_(path),
552  stroke_width_(stroke_width),
553  miter_limit_(miter_limit),
554  stroke_cap_(stroke_cap),
555  stroke_join_(stroke_join) {}
const Scalar stroke_width

◆ ~StrokePathGeometry()

impeller::StrokePathGeometry::~StrokePathGeometry ( )
overridedefault

Member Function Documentation

◆ ComputeAlphaCoverage()

Scalar impeller::StrokePathGeometry::ComputeAlphaCoverage ( const Matrix transform) const
overridevirtual

Reimplemented from impeller::Geometry.

Definition at line 575 of file stroke_path_geometry.cc.

575  {
576  return Geometry::ComputeStrokeAlphaCoverage(transform, stroke_width_);
577 }
static Scalar ComputeStrokeAlphaCoverage(const Matrix &entity, Scalar stroke_width)
Compute an alpha value to simulate lower coverage of fractional pixel strokes.
Definition: geometry.cc:134

References impeller::Geometry::ComputeStrokeAlphaCoverage(), and transform.

◆ GetMiterLimit()

Scalar impeller::StrokePathGeometry::GetMiterLimit ( ) const

Definition at line 563 of file stroke_path_geometry.cc.

563  {
564  return miter_limit_;
565 }

◆ GetStrokeCap()

Cap impeller::StrokePathGeometry::GetStrokeCap ( ) const

Definition at line 567 of file stroke_path_geometry.cc.

567  {
568  return stroke_cap_;
569 }

◆ GetStrokeJoin()

Join impeller::StrokePathGeometry::GetStrokeJoin ( ) const

Definition at line 571 of file stroke_path_geometry.cc.

571  {
572  return stroke_join_;
573 }

◆ GetStrokeWidth()

Scalar impeller::StrokePathGeometry::GetStrokeWidth ( ) const

Definition at line 559 of file stroke_path_geometry.cc.

559  {
560  return stroke_width_;
561 }

Friends And Related Function Documentation

◆ ImpellerBenchmarkAccessor

friend class ImpellerBenchmarkAccessor
friend

Definition at line 55 of file stroke_path_geometry.h.

◆ ImpellerEntityUnitTestAccessor

friend class ImpellerEntityUnitTestAccessor
friend

Definition at line 56 of file stroke_path_geometry.h.


The documentation for this class was generated from the following files: