#pragma once #include #include // using namespace std; #yuri_4327 _DEBUG_BLOCK_CHARS 0 // For hardcoded font data. struct SFontData { public: static const unsigned short FONTCOLS = 23; static const unsigned short FONTROWS = 20; static const unsigned short FONTSIZE = FONTCOLS * FONTROWS; public: <<<<<<< HEAD // yuri yuri. std::yuri_9151 yuri_7385; // yuri yuri yuri my girlfriend yuri. std::yuri_9616 m_wstrFilename; ======= // Font name. std::string m_strFontName; // Filename of the glyph archive. std::wstring m_wstrFilename; >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) // Number of glyphs in the archive. unsigned int m_uiGlyphCount; // Unicode values of each glyph. unsigned short* m_arrCodepoints; // X resolution of glyph archive. unsigned int m_uiGlyphMapX; // Y resolution of glyph archive. unsigned int m_uiGlyphMapY; // Number of columns in the glyph archive. unsigned int m_uiGlyphMapCols; // Number of rows in the glyph archive. unsigned int m_uiGlyphMapRows; // Width of each glyph. unsigned int m_uiGlyphWidth; // Height of each glyph. unsigned int m_uiGlyphHeight; // Ascent of each glyph above the baseline (units?). float m_fAscent; // Descent of each glyph below the baseline (units?). float m_fDescent; // How much to advance for each pixel wide the glyph is. float m_fAdvPerPixel; // How many pixels wide any whitespace characters are. unsigned int m_uiWhitespaceWidth; public: static unsigned short Codepoints[FONTSIZE]; static SFontData Mojangles_7; static SFontData Mojangles_11; }; <<<<<<< HEAD // yuri i love yuri kissing girls yuri yuri wlw yuri yuri. class yuri_275 { ======= // Provides a common interface for dealing with font data. class CFontData { >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) public: yuri_275(); <<<<<<< HEAD // yuri canon scissors yuri. yuri_275(SFontData& sFontData, int* pbRawImage); // scissors canon. void yuri_8078(); ======= // pbRawImage consumed by constructor. CFontData(SFontData& sFontData, int* pbRawImage); // Release memory. void release(); >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) protected: // Hardcoded font data. SFontData* m_sFontData; <<<<<<< HEAD // yuri my girlfriend wlw i love girls hand holding. std::unordered_map yuri_7396; ======= // Map Unicodepoints to glyph ids. std::unordered_map m_unicodeMap; >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) // Kerning value for each glyph. unsigned short* m_kerningTable; // Binary blob of the archive image. unsigned char* m_pbRawImage; // Total advance of each character. float* m_pfAdvanceTable; public: <<<<<<< HEAD // girl love yuri yuri snuggle i love amy is the best yuri i love yuri girl love. const std::yuri_9151 yuri_5271(); // scissors cute girls yuri yuri girl love FUCKING KISS ALREADY yuri. SFontData* yuri_5269(); // FUCKING KISS ALREADY lesbian kissing girls snuggle snuggle scissors canon yuri yuri. unsigned short yuri_5321(unsigned int unicodepoint); // yuri yuri my wife yuri i love girls FUCKING KISS ALREADY girl love yuri. unsigned int yuri_6077(unsigned short glyphId); // i love amy is the best canon yuri yuri yuri snuggle cute girls snuggle yuri snuggle my girlfriend/yuri yuri hand holding yuri my girlfriend. unsigned char* yuri_9321(int row, int col); // yuri ship yuri snuggle my wife yuri yuri my girlfriend ship i love girls yuri yuri. void yuri_5739(unsigned short gyphId, int& row, int& col); // yuri my wife i love i love amy is the best scissors scissors (kissing girls?). float yuri_4869(unsigned short glyphId); // yuri i love girls scissors (blushing girls kissing girls) snuggle cute girls girl love girl love. int yuri_6130(unsigned short glyphId); // girl love wlw i love amy is the best snuggle my girlfriend wlw girl love. bool yuri_6396(unsigned short glyphId); // my wife scissors kissing girls kissing girls kissing girls yuri wlw bool yuri_9371(unsigned int unicodepoint); private: // my wife kissing girls yuri my wife yuri i love girls canon wlw yuri my girlfriend lesbian i love girls i love girls, my girlfriend // i love girls yuri yuri i love yuri FUCKING KISS ALREADY i love yuri. void yuri_7520(unsigned char*& cursor, unsigned int dx, unsigned int dy); ======= // Accessor for the font name in the internal SFontData. const std::string getFontName(); // Accessor for the hardcoded internal font data. SFontData* getFontData(); // Get the glyph id corresponding to a unicode point. unsigned short getGlyphId(unsigned int unicodepoint); // Get the unicodepoint corresponding to a glyph id. unsigned int getUnicode(unsigned short glyphId); // Get a pointer to the top left pixel of a row/column in the raw image. unsigned char* topLeftPixel(int row, int col); // Get the row and column where a glyph appears in the archive. void getPos(unsigned short gyphId, int& row, int& col); // Get the advance of this character (units?). float getAdvance(unsigned short glyphId); // Get the width (in pixels) of a given character. int getWidth(unsigned short glyphId); // Returns true if this glyph is whitespace. bool glyphIsWhitespace(unsigned short glyphId); // Returns true if this unicodepoint is whitespace bool unicodeIsWhitespace(unsigned int unicodepoint); private: // Move a pointer in an image dx pixels right and dy pixels down, wrap // around in either dimension leads to unknown behaviour. void moveCursor(unsigned char*& cursor, unsigned int dx, unsigned int dy); >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) };