#include #include #include #include namespace ADVect::Graphics { bool Init(u16 width, u16 height); void Shutdown(); enum MarkupStyle { TEXT_NONE = 0, TEXT_BOLD = 1 << 0, TEXT_ITALIC = 1 << 1, TEXT_UNDERLINE = 1 << 2, TEXT_STRIKETHROUGH = 1 << 3, TEXT_OVERLINE = 1 << 4 }; struct ImageTexture { i32 w, h, channels; u8* buffer; bgfx::TextureHandle tx; }; ImageTexture* GetImageTextureFromFile(const std::string& file); void DrawTexture(const bgfx::TextureHandle& tex, i32 pos_x, i32 pos_y, u32 w, u32 h, u64 state, const bgfx::ProgramHandle& pg); void DrawTextureImage(const bgfx::TextureHandle& tex, i32 pos_x, i32 pos_y, u32 w, u32 h); void DrawTextureImage(const ImageTexture& img, i32 pos_x, i32 pos_y); void DrawTextureStencilAlpha(const bgfx::TextureHandle& tex, i32 pos_x, i32 pos_y, u32 w, u32 h); void RenderString(const NVL::String& s, u32& pos_x, u32& pos_y, u32 col, u32 style_flags); void RenderString(const NVL::String& s, u32&& pos_x, u32&& pos_y, u32 col, u32 style_flags); void RenderStringMarkup(const std::vector& s, u32 pos_x, u32 pos_y, u32 col); }