/******************************************************************** Minecraft: Pocket Edition - Decompilation Project Copyright (C) 2023 iProgramInCpp The following code is licensed under the BSD 1 clause license. SPDX-License-Identifier: BSD-1-Clause ********************************************************************/ #pragma once #include "Textures.hpp" #include "client/options/Options.hpp" class Font { public: Font(Options* pOpts, const std::string& fileName, Textures* pTexs); void init(Options* pOpts); void buildChar(unsigned char chr, float x, float y); void draw(const std::string&, int x, int y, int color); void draw(const std::string&, int x, int y, int color, bool bShadow); void drawSlow(const std::string&, int x, int y, int color, bool bShadow); void drawShadow(const std::string&, int x, int y, int color); //int Font::drawWordWrap(Font *this, const StlString *a2, int a3, int a4, int a5, int a6). // +- I probably won't actually implement this because // +- 1. It does not seem to have any cross references // +- 2. It appears to even be broken void onGraphicsReset(); int width(const std::string& str); int height(const std::string& str); private: int field_0; int m_charWidthInt[256]; float m_charWidthFloat[256]; // huge gap, don't know why it's there... std::string m_fileName; Options* m_pOptions; Textures* m_pTextures; };