add MwNbitmapFont

This commit is contained in:
Nishi 2025-12-19 22:35:26 +09:00
commit 604ff72d6e
Signed by: nishi
GPG key ID: 27EF69B208EB9343
4 changed files with 10 additions and 3 deletions

View file

@ -35,6 +35,7 @@
#define MwNratio "Iratio"
#define MwNfixedSize "IfixedSize"
#define MwNmargin "Imargin"
#define MwNbitmapFont "IbitmapFont"
#define MwNtitle "Stitle"
#define MwNtext "Stext"

View file

@ -51,6 +51,7 @@
- MwNbackgroundPixmap
- MwNratio
- MwNfixedSize
- MwNbitmapFont
Integer properties must be prefixed with I.
String properties must be prefixed with S.
@ -87,6 +88,7 @@
<integer name="ratio" />
<integer name="fixedSize" />
<integer name="margin" />
<integer name="bitmapFont" />
<string name="title" />
<string name="text" />

View file

@ -593,8 +593,12 @@ void MwSetDefault(MwWidget handle) {
inherit_integer(handle, MwNmodernLook, 1);
#endif
#if defined(USE_STB_TRUETYPE) || defined(USE_FREETYPE2)
inherit_integer(handle, MwNbitmapFont, 0);
set_font(handle);
set_boldfont(handle);
#else
inherit_integer(handle, MwNbitmapFont, 1);
#endif
}

View file

@ -294,7 +294,7 @@ static int ttf_MwTextHeight(MwWidget handle, int count) {
void MwDrawText(MwWidget handle, MwPoint* point, const char* text, int bold, int align, MwLLColor color) {
if(strlen(text) == 0) return;
#ifdef TTF
if(ttf_MwDrawText(handle, point, text, bold, align, color))
if(!MwGetInteger(handle, MwNbitmapFont) && ttf_MwDrawText(handle, point, text, bold, align, color))
#endif
bitmap_MwDrawText(handle, point, text, bold, align, color);
}
@ -304,7 +304,7 @@ int MwTextWidth(MwWidget handle, const char* text) {
#ifdef TTF
int st;
if((st = ttf_MwTextWidth(handle, text)) != -1) return st;
if(!MwGetInteger(handle, MwNbitmapFont) && (st = ttf_MwTextWidth(handle, text)) != -1) return st;
#else
(void)handle;
@ -331,7 +331,7 @@ int MwTextHeight(MwWidget handle, const char* text) {
if(out == '\n') c++;
}
#ifdef TTF
if((st = ttf_MwTextHeight(handle, c)) != -1) return st;
if(!MwGetInteger(handle, MwNbitmapFont) && (st = ttf_MwTextHeight(handle, c)) != -1) return st;
#endif
return FontHeight * c;
}