Flutter Impeller
impeller::GlyphAtlasContext Class Reference

A container for caching a glyph atlas across frames. More...

#include <glyph_atlas.h>

Public Member Functions

 GlyphAtlasContext (GlyphAtlas::Type type)
 
virtual ~GlyphAtlasContext ()
 
std::shared_ptr< GlyphAtlasGetGlyphAtlas () const
 Retrieve the current glyph atlas. More...
 
const ISizeGetAtlasSize () const
 Retrieve the size of the current glyph atlas. More...
 
std::shared_ptr< RectanglePackerGetRectPacker () const
 Retrieve the previous (if any) rect packer. More...
 
int64_t GetHeightAdjustment () const
 A y-coordinate shift that must be applied to glyphs appended to the atlas. More...
 
void UpdateGlyphAtlas (std::shared_ptr< GlyphAtlas > atlas, ISize size, int64_t height_adjustment_)
 Update the context with a newly constructed glyph atlas. More...
 
void UpdateRectPacker (std::shared_ptr< RectanglePacker > rect_packer)
 

Detailed Description

A container for caching a glyph atlas across frames.

Definition at line 218 of file glyph_atlas.h.

Constructor & Destructor Documentation

◆ GlyphAtlasContext()

impeller::GlyphAtlasContext::GlyphAtlasContext ( GlyphAtlas::Type  type)
explicit

Definition at line 14 of file glyph_atlas.cc.

15  : atlas_(std::make_shared<GlyphAtlas>(type, /*initial_generation=*/0)),
16  atlas_size_(ISize(0, 0)) {}
GLenum type
ISize64 ISize
Definition: size.h:162

◆ ~GlyphAtlasContext()

impeller::GlyphAtlasContext::~GlyphAtlasContext ( )
virtual

Definition at line 18 of file glyph_atlas.cc.

18 {}

Member Function Documentation

◆ GetAtlasSize()

const ISize & impeller::GlyphAtlasContext::GetAtlasSize ( ) const

Retrieve the size of the current glyph atlas.

Definition at line 24 of file glyph_atlas.cc.

24  {
25  return atlas_size_;
26 }

◆ GetGlyphAtlas()

std::shared_ptr< GlyphAtlas > impeller::GlyphAtlasContext::GetGlyphAtlas ( ) const

Retrieve the current glyph atlas.

Definition at line 20 of file glyph_atlas.cc.

20  {
21  return atlas_;
22 }

◆ GetHeightAdjustment()

int64_t impeller::GlyphAtlasContext::GetHeightAdjustment ( ) const

A y-coordinate shift that must be applied to glyphs appended to the atlas.

The rectangle packer is only initialized for unfilled regions of the atlas. The area the rectangle packer covers is offset from the origin by this height adjustment.

Definition at line 28 of file glyph_atlas.cc.

28  {
29  return height_adjustment_;
30 }

◆ GetRectPacker()

std::shared_ptr< RectanglePacker > impeller::GlyphAtlasContext::GetRectPacker ( ) const

Retrieve the previous (if any) rect packer.

Definition at line 32 of file glyph_atlas.cc.

32  {
33  return rect_packer_;
34 }

◆ UpdateGlyphAtlas()

void impeller::GlyphAtlasContext::UpdateGlyphAtlas ( std::shared_ptr< GlyphAtlas atlas,
ISize  size,
int64_t  height_adjustment_ 
)

Update the context with a newly constructed glyph atlas.

Definition at line 36 of file glyph_atlas.cc.

38  {
39  atlas_ = std::move(atlas);
40  atlas_size_ = size;
41  height_adjustment_ = height_adjustment;
42 }

◆ UpdateRectPacker()

void impeller::GlyphAtlasContext::UpdateRectPacker ( std::shared_ptr< RectanglePacker rect_packer)

Definition at line 44 of file glyph_atlas.cc.

45  {
46  rect_packer_ = std::move(rect_packer);
47 }

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