You.i Engine
CYIAbstractTextAtlas Class Referenceabstract

Detailed Description

Abstract class for a text atlas.

#include <graphics/YiAbstractTextAtlas.h>

Inheritance diagram for CYIAbstractTextAtlas:

Public Member Functions

 CYIAbstractTextAtlas ()
 
virtual ~CYIAbstractTextAtlas ()
 
virtual bool CreateNewFontAtlas (uint32_t uWidth, uint32_t uHeight)=0
 
virtual void SetRegion (ssize_t nID, void *pReference, YI_REGION Region, const uint8_t *pData, const int32_t nStride) override=0
 
virtual YI_TEXTURE_DETAILSGetTexture (ssize_t nID, void *pReference) override
 
int32_t GetGlyphPadding () const
 
bool AddGlyph (const uint32_t uGlyphWidth, const uint32_t uGlyphHeight, YI_GLYPH_DETAILS *pGlyphDetails, const uint8_t *pData, const int32_t nStride)
 
- Public Member Functions inherited from CYITextureAtlas
 CYITextureAtlas ()
 
virtual ~CYITextureAtlas ()
 
bool CreateNewAtlas (uint32_t unWidth, uint32_t unHeight, uint32_t unPages)
 
YI_REGION GetRegion (int32_t nWidth, int32_t nHeight)
 
void UpdateAtlas ()
 
const std::shared_ptr< CYIBitmapGetBitmap () const
 
const std::vector< glm::ivec4 > * GetNodes (uint32_t unPage) const
 
virtual std::shared_ptr< CYIAssetTextureGetGLTexture () const
 
const std::shared_ptr< CYIAssetTextureGetTextureAsset ()
 
YI_LOADED_TEXTURESGetLoadedTextures ()
 
void SetTextureFilter (CYIAssetTexture::YI_MIN_MAG_FILTER minificationFilter, CYIAssetTexture::YI_MIN_MAG_FILTER magnificationFilter)
 
void SetTextureWrap (CYIAssetTexture::YI_TEXTURE_WRAP wrapS, CYIAssetTexture::YI_TEXTURE_WRAP wrapT)
 
void SetName (const CYIString &name)
 
const CYIStringGetName () const
 
float GetAtlasPercentageUsed () const
 
bool RenderAtlasToPng (const CYIString &filePath) const
 
void Reset ()
 

Protected Member Functions

void SetGlyphPadding (int32_t nGlyphPadding)
 
virtual bool CompareGlyphDetails (YI_GLYPH_DETAILS *pLeft, YI_GLYPH_DETAILS *pRight) const
 
- Protected Member Functions inherited from CYITextureAtlas
int32_t Fit (uint32_t unPage, uint32_t unIndex, int32_t nWidth, int32_t nHeight)
 
void Merge (uint32_t unPage)
 

Additional Inherited Members

- 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_nWidth
 
int32_t m_nHeight
 
uint32_t m_unPages
 
CYIAssetTexture::YI_TEXTURE_CONFIG m_textureConfiguration
 
uint32_t m_unPixelsUsed
 
uint32_t m_unLastUpdatedSize
 

Constructor & Destructor Documentation

CYIAbstractTextAtlas::CYIAbstractTextAtlas ( )
virtual CYIAbstractTextAtlas::~CYIAbstractTextAtlas ( )
virtual

Member Function Documentation

bool CYIAbstractTextAtlas::AddGlyph ( const uint32_t  uGlyphWidth,
const uint32_t  uGlyphHeight,
YI_GLYPH_DETAILS pGlyphDetails,
const uint8_t *  pData,
const int32_t  nStride 
)

Adds the given glyph to this atlas. Returns true if the glyph was successfully added.

virtual bool CYIAbstractTextAtlas::CompareGlyphDetails ( YI_GLYPH_DETAILS pLeft,
YI_GLYPH_DETAILS pRight 
) const
protectedvirtual

Reimplemented in CYISDFTextAtlas.

virtual bool CYIAbstractTextAtlas::CreateNewFontAtlas ( uint32_t  uWidth,
uint32_t  uHeight 
)
pure virtual

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.

Implemented in CYISDFTextAtlas, and CYITextAtlas.

int32_t CYIAbstractTextAtlas::GetGlyphPadding ( ) const

Returns the atlas' glyph padding. The glyph padding is a pixel padding added to each side of each glyph which is rendered into the atlas.

virtual YI_TEXTURE_DETAILS* CYIAbstractTextAtlas::GetTexture ( ssize_t  nID,
void *  pReference 
)
overridevirtual

Returns the texture region which matches the given data. Returns nullptr if no match is found.

Reimplemented from CYITextureAtlas.

void CYIAbstractTextAtlas::SetGlyphPadding ( int32_t  nGlyphPadding)
protected

Sets the amount of glyph padding to use when rendering glyphs into the atlas.

virtual void CYIAbstractTextAtlas::SetRegion ( ssize_t  nID,
void *  pReference,
YI_REGION  Region,
const uint8_t *  pData,
const int32_t  nStride 
)
overridepure virtual

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]nIDA 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]pDataThe data to write to the atlas
[in]nStrideThe stride of pData

Reimplemented from CYITextureAtlas.

Implemented in CYISDFTextAtlas, and CYITextAtlas.


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