mirror of
https://github.com/zeldaret/ss
synced 2026-05-25 23:35:13 -04:00
26af4db82d
* update from dtk-template and start work towards using clangd * include <a> -> "a" * Update build.yml * remove/add non-trivial class in union warning
53 lines
2.1 KiB
C++
53 lines
2.1 KiB
C++
#ifndef NW4R_UT_ROM_FONT_H
|
|
#define NW4R_UT_ROM_FONT_H
|
|
#include "nw4r/types_nw4r.h"
|
|
#include "nw4r/ut/ut_Font.h"
|
|
#include "rvl/OS.h" // IWYU pragma: export
|
|
|
|
namespace nw4r {
|
|
namespace ut {
|
|
|
|
class RomFont : public Font {
|
|
public:
|
|
RomFont();
|
|
virtual ~RomFont(); // at 0x8
|
|
|
|
virtual int GetWidth() const; // at 0xC
|
|
virtual int GetHeight() const; // at 0x10
|
|
virtual int GetAscent() const; // at 0x14
|
|
virtual int GetDescent() const; // at 0x18
|
|
virtual int GetBaselinePos() const; // at 0x1C
|
|
virtual int GetCellHeight() const; // at 0x20
|
|
virtual int GetCellWidth() const; // at 0x24
|
|
virtual int GetMaxCharWidth() const; // at 0x28
|
|
virtual Type GetType() const; // at 0x2C
|
|
virtual GXTexFmt GetTextureFormat() const; // at 0x30
|
|
virtual int GetLineFeed() const; // at 0x34
|
|
virtual CharWidths GetDefaultCharWidths() const; // at 0x38
|
|
virtual void SetDefaultCharWidths(const CharWidths &widths); // at 0x3C
|
|
virtual bool SetAlternateChar(u16 c); // at 0x40
|
|
virtual void SetLineFeed(int lf); // at 0x44
|
|
virtual int GetCharWidth(u16 c) const; // at 0x48
|
|
virtual CharWidths GetCharWidths(u16 c) const; // at 0x4C
|
|
virtual void GetGlyph(Glyph *out, u16 c) const; // at 0x50
|
|
virtual bool HasGlyph(u16 c) const; // at 0x54
|
|
virtual FontEncoding GetEncoding() const; // at 0x58
|
|
|
|
bool Load(void *buffer);
|
|
u32 GetRequireBufferSize();
|
|
void MakeCharPtr(char *buffer, u16 c) const;
|
|
u16 HandleUndefinedChar(u16 c) const;
|
|
|
|
private:
|
|
OSFontHeader *mFontHeader; // at 0x10
|
|
CharWidths mDefaultWidths; // at 0x14
|
|
u16 mAlternateChar; // at 0x18
|
|
|
|
static u16 mFontEncode;
|
|
};
|
|
|
|
} // namespace ut
|
|
} // namespace nw4r
|
|
|
|
#endif
|