Something went wrong. Try again.
the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
Something went wrong. Try again.
2.9 kB · 75 lines
C
at master
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475#pragma once
struct SFontData;class CFontData;
#define VERBOSE_FONT_OUTPUT 0
// const int BITMAP_FONT_LANGUAGES = XC_LANGUAGE_ENGLISH // | XC_LANGUAGE_GERMAN // | XC_LANGUAGE_FRENCH // | XC_LANGUAGE_SPANISH // | XC_LANGUAGE_ITALIAN // | XC_LANGUAGE_PORTUGUESE // | XC_LANGUAGE_BRAZILIAN;
using namespace std;
class UIAbstractBitmapFont{protected: string m_fontname;
IggyBitmapFontProvider *m_bitmapFontProvider;
bool m_registered;
unsigned int m_numGlyphs;
public: UIAbstractBitmapFont(const string &fontname); ~UIAbstractBitmapFont();
void registerFont();
// Virtual Functions. virtual IggyFontMetrics *GetFontMetrics(IggyFontMetrics *metrics) = 0; virtual S32 GetCodepointGlyph(U32 codepoint) = 0; virtual IggyGlyphMetrics *GetGlyphMetrics(S32 glyph, IggyGlyphMetrics *metrics) = 0; virtual rrbool IsGlyphEmpty(S32 glyph) = 0; virtual F32 GetKerningForGlyphPair(S32 first_glyph, S32 second_glyph) = 0; virtual rrbool CanProvideBitmap(S32 glyph, F32 pixel_scale) = 0; virtual rrbool GetGlyphBitmap(S32 glyph, F32 pixel_scale, IggyBitmapCharacter *bitmap) = 0; virtual void FreeGlyphBitmap(S32 glyph, F32 pixel_scale, IggyBitmapCharacter *bitmap) = 0;
// Static Callbacks // Just wrappers for the virtual functions. static IggyFontMetrics * RADLINK GetFontMetrics_Callback(void *user_context, IggyFontMetrics *metrics); static S32 RADLINK GetCodepointGlyph_Callback(void *user_context, U32 codepoint); static IggyGlyphMetrics * RADLINK GetGlyphMetrics_Callback(void *user_context, S32 glyph, IggyGlyphMetrics *metrics); static rrbool RADLINK IsGlyphEmpty_Callback(void *user_context, S32 glyph); static F32 RADLINK GetKerningForGlyphPair_Callback(void *user_context, S32 first_glyph, S32 second_glyph); static rrbool RADLINK CanProvideBitmap_Callback(void *user_context, S32 glyph, F32 pixel_scale); static rrbool RADLINK GetGlyphBitmap_Callback(void *user_context, S32 glyph, F32 pixel_scale, IggyBitmapCharacter *bitmap); static void RADLINK FreeGlyphBitmap_Callback(void *user_context, S32 glyph, F32 pixel_scale, IggyBitmapCharacter *bitmap); };
class UIBitmapFont : public UIAbstractBitmapFont{protected: CFontData *m_cFontData;
public: UIBitmapFont(SFontData &sfontdata);
~UIBitmapFont();
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); };