Flutter Engine
The Flutter Engine
Public Member Functions | List of all members
skgpu::graphite::SubRunData Class Reference

#include <SubRunData.h>

Public Member Functions

 SubRunData ()=delete
 
 SubRunData (const SubRunData &subRun)=default
 
 SubRunData (SubRunData &&)=delete
 
 SubRunData (const sktext::gpu::AtlasSubRun *subRun, sk_sp< SkRefCnt > supportDataKeepAlive, Rect deviceBounds, const SkM44 &deviceToLocal, int startGlyphIndex, int glyphCount, SkColor luminanceColor, bool useGammaCorrectDistanceTable, SkPixelGeometry pixelGeometry, Recorder *recorder, sktext::gpu::RendererData rendererData)
 
 ~SubRunData ()=default
 
SubRunDataoperator= (SubRunData &&)=delete
 
SubRunDataoperator= (const SubRunData &that)=default
 
Rect bounds () const
 
const SkM44deviceToLocal () const
 
const sktext::gpu::AtlasSubRunsubRun () const
 
int startGlyphIndex () const
 
int glyphCount () const
 
SkColor luminanceColor () const
 
bool useGammaCorrectDistanceTable () const
 
SkPixelGeometry pixelGeometry () const
 
Recorderrecorder () const
 
const sktext::gpu::RendererDatarendererData () const
 

Detailed Description

SubRunData represents an AtlasSubRun subspan for which per-pixel coverage data comes from a persistent glyph atlas texture.

The bounds() represent the bounds of the entire AtlasSubRun and does not directly map to the local coordinates of this particular subspan. Rather, the dimensions and offset coordinates of a subspan are defined in a coordinate space that is partially transformed by a decomposition of the local-to-device matrix computed by the AtlasSubRun per instance. The transform of the draw is the rest of the decomposed transform (often only a translation) that maps this intermediate space to the device-space coordinates of the draw.

The local coordinates used in shading are derived by transforming the final device coordinates using the inverse of the local-to-device matrix.

Definition at line 36 of file SubRunData.h.

Constructor & Destructor Documentation

◆ SubRunData() [1/4]

skgpu::graphite::SubRunData::SubRunData ( )
delete

◆ SubRunData() [2/4]

skgpu::graphite::SubRunData::SubRunData ( const SubRunData subRun)
default

◆ SubRunData() [3/4]

skgpu::graphite::SubRunData::SubRunData ( SubRunData &&  )
delete

◆ SubRunData() [4/4]

skgpu::graphite::SubRunData::SubRunData ( const sktext::gpu::AtlasSubRun subRun,
sk_sp< SkRefCnt supportDataKeepAlive,
Rect  deviceBounds,
const SkM44 deviceToLocal,
int  startGlyphIndex,
int  glyphCount,
SkColor  luminanceColor,
bool  useGammaCorrectDistanceTable,
SkPixelGeometry  pixelGeometry,
Recorder recorder,
sktext::gpu::RendererData  rendererData 
)
inline

Definition at line 42 of file SubRunData.h.

53 : fSubRun(subRun)
54 , fSupportDataKeepAlive(std::move(supportDataKeepAlive))
55 , fBounds(deviceBounds)
56 , fDeviceToLocal(deviceToLocal)
57 , fStartGlyphIndex(startGlyphIndex)
58 , fGlyphCount(glyphCount)
59 , fLuminanceColor(luminanceColor)
60 , fUseGammaCorrectDistanceTable(useGammaCorrectDistanceTable)
61 , fPixelGeometry(pixelGeometry)
62 , fRecorder(recorder)
63 , fRendererData(rendererData) {}
const sktext::gpu::AtlasSubRun * subRun() const
Definition: SubRunData.h:79
const SkM44 & deviceToLocal() const
Definition: SubRunData.h:76
SkColor luminanceColor() const
Definition: SubRunData.h:82
bool useGammaCorrectDistanceTable() const
Definition: SubRunData.h:83
Recorder * recorder() const
Definition: SubRunData.h:85
SkPixelGeometry pixelGeometry() const
Definition: SubRunData.h:84
const sktext::gpu::RendererData & rendererData() const
Definition: SubRunData.h:86

◆ ~SubRunData()

skgpu::graphite::SubRunData::~SubRunData ( )
default

Member Function Documentation

◆ bounds()

Rect skgpu::graphite::SubRunData::bounds ( ) const
inline

Definition at line 73 of file SubRunData.h.

73{ return fBounds; }

◆ deviceToLocal()

const SkM44 & skgpu::graphite::SubRunData::deviceToLocal ( ) const
inline

Definition at line 76 of file SubRunData.h.

76{ return fDeviceToLocal; }

◆ glyphCount()

int skgpu::graphite::SubRunData::glyphCount ( ) const
inline

Definition at line 81 of file SubRunData.h.

81{ return fGlyphCount; }

◆ luminanceColor()

SkColor skgpu::graphite::SubRunData::luminanceColor ( ) const
inline

Definition at line 82 of file SubRunData.h.

82{ return fLuminanceColor; }

◆ operator=() [1/2]

SubRunData & skgpu::graphite::SubRunData::operator= ( const SubRunData that)
default

◆ operator=() [2/2]

SubRunData & skgpu::graphite::SubRunData::operator= ( SubRunData &&  )
delete

◆ pixelGeometry()

SkPixelGeometry skgpu::graphite::SubRunData::pixelGeometry ( ) const
inline

Definition at line 84 of file SubRunData.h.

84{ return fPixelGeometry; }

◆ recorder()

Recorder * skgpu::graphite::SubRunData::recorder ( ) const
inline

Definition at line 85 of file SubRunData.h.

85{ return fRecorder; }

◆ rendererData()

const sktext::gpu::RendererData & skgpu::graphite::SubRunData::rendererData ( ) const
inline

Definition at line 86 of file SubRunData.h.

86{ return fRendererData; }

◆ startGlyphIndex()

int skgpu::graphite::SubRunData::startGlyphIndex ( ) const
inline

Definition at line 80 of file SubRunData.h.

80{ return fStartGlyphIndex; }

◆ subRun()

const sktext::gpu::AtlasSubRun * skgpu::graphite::SubRunData::subRun ( ) const
inline

Definition at line 79 of file SubRunData.h.

79{ return fSubRun; }

◆ useGammaCorrectDistanceTable()

bool skgpu::graphite::SubRunData::useGammaCorrectDistanceTable ( ) const
inline

Definition at line 83 of file SubRunData.h.

83{ return fUseGammaCorrectDistanceTable; }

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