Files
tp/src/JSystem/JUtility/JUTFont.cpp
T
TakaRikka a6e76c0841 project cleanup (#2895)
* some wii OS fixes

* remove old dol2asm comments

* remove dol2asm.h

* remove function address comments

* normalize ATTRIBUTE_ALIGN usage

* DECL_WEAK macro

* fix gcc attribute weak macro

* wrap more mwcc specific things in ifdefs

* fixes

* fix revo sdk version flags

* fixes
2025-11-30 15:23:42 -07:00

55 lines
1.1 KiB
C++

/**
* JUTFont.cpp
* JUtility - Font Management
*/
#include "JSystem/JSystem.h" // IWYU pragma: keep
#include "JSystem/JUtility/JUTFont.h"
JUTFont::JUTFont() : mColor1(), mColor2(), mColor3(), mColor4() {
mValid = false;
}
void JUTFont::initialize_state() {
setCharColor(JUtility::TColor());
mFixed = false;
mFixedWidth = 0;
mValid = false;
}
void JUTFont::setCharColor(JUtility::TColor col1) {
mColor1 = col1;
mColor2 = col1;
mColor3 = col1;
mColor4 = col1;
}
void JUTFont::setGradColor(JUtility::TColor col1, JUtility::TColor col2) {
mColor1 = col1;
mColor2 = col1;
mColor3 = col2;
mColor4 = col2;
}
f32 JUTFont::drawString_size_scale(f32 a1, f32 a2, f32 a3, f32 a4, const char* str, u32 usz,
bool a7) {
f32 temp = a1;
for (; usz > 0; usz--, str++) {
u32 c = *(u8*)str;
u32 b = c;
if (isLeadByte(b)) {
str++;
b <<= 8;
b |= *(u8*)str;
usz--;
}
a1 += drawChar_scale(a1, a2, a3, a4, b, a7);
a7 = 1;
}
return a1 - temp;
}