28 lines
927 B
C++
28 lines
927 B
C++
#pragma once
|
|
#include "UIBitmapFont.h"
|
|
|
|
struct SFontData;
|
|
|
|
class UIUnicodeBitmapFont : public UIAbstractBitmapFont
|
|
{
|
|
private:
|
|
unsigned char m_unicodeWidth[65536];
|
|
unsigned char* m_glyphPages[256];
|
|
SFontData* m_referenceFontData;
|
|
|
|
void loadGlyphPage(int page);
|
|
|
|
public:
|
|
UIUnicodeBitmapFont(const string &fontname, SFontData &referenceFontData);
|
|
~UIUnicodeBitmapFont();
|
|
|
|
virtual IggyFontMetrics *GetFontMetrics(IggyFontMetrics *metrics);
|
|
virtual S32 GetCodepointGlyph(U32 codepoint);
|
|
virtual IggyGlyphMetrics *GetGlyphMetrics(S32 glyph, IggyGlyphMetrics *metrics);
|
|
virtual rrbool IsGlyphEmpty(S32 glyph);
|
|
virtual F32 GetKerningForGlyphPair(S32 first_glyph, S32 second_glyph);
|
|
virtual rrbool CanProvideBitmap(S32 glyph, F32 pixel_scale);
|
|
virtual rrbool GetGlyphBitmap(S32 glyph, F32 pixel_scale, IggyBitmapCharacter *bitmap);
|
|
virtual void FreeGlyphBitmap(S32 glyph, F32 pixel_scale, IggyBitmapCharacter *bitmap);
|
|
};
|