You.i Engine
YiAbstractTextAtlas.h
Go to the documentation of this file.
1
// © You i Labs Inc. 2000-2017. All rights reserved.
2
#ifndef _YI_ABSTRACT_TEXT_ATLAS_H_
3
#define _YI_ABSTRACT_TEXT_ATLAS_H_
4
5
#include "
graphics/YiTextureAtlas.h
"
6
11
15
struct
YI_GLYPH_DETAILS
16
{
17
ssize_t
uFontID
;
18
19
int32_t
nFontSize
;
20
21
uint32_t
uGlyphID
;
22
23
uint32_t
uTextureIndex
;
24
};
25
29
class
CYIAbstractTextAtlas
:
public
CYITextureAtlas
30
{
31
public
:
32
CYIAbstractTextAtlas
();
33
virtual
~
CYIAbstractTextAtlas
();
34
39
virtual
bool
CreateNewFontAtlas(uint32_t uWidth, uint32_t uHeight) = 0;
40
51
virtual
void
SetRegion(
ssize_t
nID,
void
*pReference,
YI_REGION
Region,
const
uint8_t *pData,
const
int32_t nStride)
override
= 0;
52
56
virtual
YI_TEXTURE_DETAILS
*GetTexture(
ssize_t
nID,
void
*pReference)
override
;
57
62
int32_t GetGlyphPadding()
const
;
63
67
bool
AddGlyph(
const
uint32_t uGlyphWidth,
const
uint32_t uGlyphHeight,
YI_GLYPH_DETAILS
*pGlyphDetails,
const
uint8_t *pData,
const
int32_t nStride);
68
69
protected
:
73
void
SetGlyphPadding(int32_t nGlyphPadding);
74
75
/*
76
\details This function is called in GetTexture to determine whether the requested glyph matches
77
a glyph which already exists in the atlas. Implementations should use this to compare whether the
78
requested glyph matches the existing candidate glyph based on their own criteria.
79
80
The default implementation compares font size, glyph ID, and font ID.
81
*/
82
virtual
bool
CompareGlyphDetails(
YI_GLYPH_DETAILS
*pLeft,
YI_GLYPH_DETAILS
*pRight)
const
;
83
84
private
:
85
int32_t m_nGlyphPadding;
86
};
87
90
#endif
CYITextureAtlas
Class for a texture atlas.
Definition:
YiTextureAtlas.h:53
YI_GLYPH_DETAILS
Definition:
YiAbstractTextAtlas.h:15
YI_REGION
Definition:
YiTextureAtlas.h:42
YI_GLYPH_DETAILS::uGlyphID
uint32_t uGlyphID
Definition:
YiAbstractTextAtlas.h:21
CYIAbstractTextAtlas
Abstract class for a text atlas.
Definition:
YiAbstractTextAtlas.h:29
YI_GLYPH_DETAILS::nFontSize
int32_t nFontSize
Definition:
YiAbstractTextAtlas.h:19
YI_GLYPH_DETAILS::uTextureIndex
uint32_t uTextureIndex
Definition:
YiAbstractTextAtlas.h:23
YiTextureAtlas.h
ssize_t
int ssize_t
Definition:
YiPredefWin32.h:133
YI_GLYPH_DETAILS::uFontID
ssize_t uFontID
Definition:
YiAbstractTextAtlas.h:17
YI_TEXTURE_DETAILS
Definition:
YiTextureAtlas.h:20
graphics
YiAbstractTextAtlas.h
Generated on Thu Aug 23 2018 03:08:02 for You.i Engine by
1.8.11