You.i Engine
CYITextAtlas Class Reference

Detailed Description

Class for a text atlas.

#include <graphics/YiTextAtlas.h>

Inheritance diagram for CYITextAtlas:

Public Member Functions

 CYITextAtlas (CYIAssetTextureBase::Filtering textureFiltering=CYIAssetTextureBase::Filtering::Nearest)
 
virtual ~CYITextAtlas ()
 
virtual bool CreateNewFontAtlas (uint32_t width, uint32_t height) override
 
virtual void SetRegion (ssize_t id, void *pReference, YI_REGION region, GlyphData glyphData) override
 
- Public Member Functions inherited from CYIAbstractTextAtlas
 CYIAbstractTextAtlas ()
 
virtual ~CYIAbstractTextAtlas ()
 
virtual void SetRegion (ssize_t id, void *pReference, YI_REGION region, const uint8_t *pData, const int32_t stride) override final
 
virtual YI_TEXTURE_DETAILSGetTexture (ssize_t id, void *pReference) override
 
int32_t GetGlyphPadding () const
 
bool AddGlyph (const uint32_t glyphWidth, const uint32_t glyphHeight, YI_GLYPH_DETAILS *pGlyphDetails, GlyphData glyphData)
 
- Public Member Functions inherited from CYITextureAtlas
 CYITextureAtlas ()
 
virtual ~CYITextureAtlas ()
 
bool CreateNewAtlas (uint32_t unWidth, uint32_t unHeight, size_t pages)
 
YI_REGION GetRegion (int32_t width, int32_t height)
 
void UpdateAtlas ()
 
const std::shared_ptr< CYIBitmapGetBitmap () const
 
const std::vector< glm::ivec4 > * GetNodes (size_t page) const
 
virtual std::shared_ptr< CYIAssetTextureGetGLTexture () const
 
const std::shared_ptr< CYIAssetTextureGetTextureAsset ()
 
YI_LOADED_TEXTURESGetLoadedTextures ()
 
void SetTextureFilter (CYIAssetTexture::Filtering minificationFilter, CYIAssetTexture::Filtering magnificationFilter)
 
void SetTextureWrap (CYIAssetTexture::WrapMode wrapS, CYIAssetTexture::WrapMode wrapT)
 
void SetName (const CYIString &name)
 
const CYIStringGetName () const
 
float GetAtlasPercentageUsed () const
 
bool RenderAtlasToPng (const CYIString &filePath) const
 
void Reset ()
 

Additional Inherited Members

- Protected Member Functions inherited from CYIAbstractTextAtlas
void SetGlyphPadding (int32_t glyphPadding)
 
virtual bool CompareGlyphDetails (YI_GLYPH_DETAILS *pLeft, YI_GLYPH_DETAILS *pRight) const
 
- Protected Member Functions inherited from CYITextureAtlas
int32_t Fit (size_t page, size_t unIndex, int32_t width, int32_t height)
 
void Merge (size_t page)
 
- Protected Attributes inherited from CYITextureAtlas
CYIString m_name
 
std::shared_ptr< CYIBitmapm_Image
 
std::vector< glm::ivec4 > m_Nodes [4]
 
std::shared_ptr< CYIAssetTexturem_pTextureAsset
 
YI_LOADED_TEXTURES m_Textures
 
int32_t m_width
 
int32_t m_height
 
size_t m_pages
 
CYIAssetTexture::TextureConfig m_textureConfiguration
 
size_t m_unPixelsUsed
 
size_t m_unLastUpdatedSize
 

Constructor & Destructor Documentation

◆ CYITextAtlas()

CYITextAtlas::CYITextAtlas ( CYIAssetTextureBase::Filtering  textureFiltering = CYIAssetTextureBase::Filtering::Nearest)

◆ ~CYITextAtlas()

virtual CYITextAtlas::~CYITextAtlas ( )
virtual

Member Function Documentation

◆ CreateNewFontAtlas()

virtual bool CYITextAtlas::CreateNewFontAtlas ( uint32_t  width,
uint32_t  height 
)
overridevirtual

Should be implemented to do any internal initialization of the text atlas such as creating the atlas buffer. The width and height of the buffer are given as parameters.

Implements CYIAbstractTextAtlas.

◆ SetRegion()

virtual void CYITextAtlas::SetRegion ( ssize_t  id,
void *  pReference,
YI_REGION  region,
GlyphData  glyphData 
)
overridevirtual

Should be implemented to write the given data to the atlas buffer and store a reference to it as a YI_TEXTURE_DETAILS.

Parameters
[in]idA user provided ID. The implementation can use this for whatever it wants
[in]pReferenceA user provided pointer. The implementation can use this for whatever it wants
[in]regionThe region in the atlas to write the data to
[in]glyphDataThe glyph data to write into the atlas

Implements CYIAbstractTextAtlas.


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