bold font

git-svn-id: http://svn2.nishi.boats/svn/milsko/trunk@107 b9cfdab3-6d41-4d17-bbe4-086880011989
This commit is contained in:
NishiOwO
2025-10-01 16:33:18 +00:00
parent cb46c5ba34
commit aa92f0c31e
7 changed files with 149 additions and 6 deletions

View File

@@ -15,7 +15,7 @@ E_CFLAGS = $(CFLAGS)
E_LDFLAGS = $(LDFLAGS) -Lsrc
E_LIBS = $(LIBS) -lMw
L_OBJS = src/ds.o src/core.o src/default.o src/draw.o src/lowlevel.o src/font.o src/image.o
L_OBJS = src/ds.o src/core.o src/default.o src/draw.o src/lowlevel.o src/font.o src/boldfont.o src/image.o
L_OBJS += src/window.o src/button.o src/frame.o src/menu.o
ifeq ($(TARGET),NetBSD)

View File

@@ -56,9 +56,10 @@ MWDECL void MwDrawFrameEx(MwWidget handle, MwRect* rect, MwLLColor color, int in
* %param handle Widget
* %param point Center point of the text
* %param text Text
* %param bold Bold
* %param color Color
*/
MWDECL void MwDrawText(MwWidget handle, MwPoint* point, const char* text, MwLLColor color);
MWDECL void MwDrawText(MwWidget handle, MwPoint* point, const char* text, int bold, MwLLColor color);
/*!
* %brief Creates a pixmap from image

View File

@@ -18,6 +18,11 @@ extern "C" {
*/
MWDECL MwFont MwFontData[];
/*!
* %brief Default bold font data
*/
MWDECL MwFont MwBoldFontData[];
#ifdef __cplusplus
}
#endif

137
src/boldfont.c Normal file
View File

@@ -0,0 +1,137 @@
/* $Id$ */
#include <Mw/Milsko.h>
/**
* Copyright notice:
* "Public domain font. Share and enjoy."
*/
MwFont MwBoldFontData[] = {
{0, 12, {0, 90, 66, 0, 66, 66, 0, 66, 66, 0, 66, 90, 0, 0}}, /* 0 */
{0, 12, {0, 90, 66, 0, 66, 66, 0, 66, 66, 0, 66, 90, 0, 0}}, /* 1 */
{0, 12, {0, 90, 66, 0, 66, 66, 0, 66, 66, 0, 66, 90, 0, 0}}, /* 2 */
{0, 12, {0, 90, 66, 0, 66, 66, 0, 66, 66, 0, 66, 90, 0, 0}}, /* 3 */
{0, 12, {0, 90, 66, 0, 66, 66, 0, 66, 66, 0, 66, 90, 0, 0}}, /* 4 */
{0, 12, {0, 90, 66, 0, 66, 66, 0, 66, 66, 0, 66, 90, 0, 0}}, /* 5 */
{0, 12, {0, 90, 66, 0, 66, 66, 0, 66, 66, 0, 66, 90, 0, 0}}, /* 6 */
{0, 12, {0, 90, 66, 0, 66, 66, 0, 66, 66, 0, 66, 90, 0, 0}}, /* 7 */
{0, 12, {0, 90, 66, 0, 66, 66, 0, 66, 66, 0, 66, 90, 0, 0}}, /* 8 */
{0, 12, {0, 90, 66, 0, 66, 66, 0, 66, 66, 0, 66, 90, 0, 0}}, /* 9 */
{0, 12, {0, 90, 66, 0, 66, 66, 0, 66, 66, 0, 66, 90, 0, 0}}, /* 10 */
{0, 12, {0, 90, 66, 0, 66, 66, 0, 66, 66, 0, 66, 90, 0, 0}}, /* 11 */
{0, 12, {0, 90, 66, 0, 66, 66, 0, 66, 66, 0, 66, 90, 0, 0}}, /* 12 */
{0, 12, {0, 90, 66, 0, 66, 66, 0, 66, 66, 0, 66, 90, 0, 0}}, /* 13 */
{0, 12, {0, 90, 66, 0, 66, 66, 0, 66, 66, 0, 66, 90, 0, 0}}, /* 14 */
{0, 12, {0, 90, 66, 0, 66, 66, 0, 66, 66, 0, 66, 90, 0, 0}}, /* 15 */
{0, 12, {0, 90, 66, 0, 66, 66, 0, 66, 66, 0, 66, 90, 0, 0}}, /* 16 */
{0, 12, {0, 90, 66, 0, 66, 66, 0, 66, 66, 0, 66, 90, 0, 0}}, /* 17 */
{0, 12, {0, 90, 66, 0, 66, 66, 0, 66, 66, 0, 66, 90, 0, 0}}, /* 18 */
{0, 12, {0, 90, 66, 0, 66, 66, 0, 66, 66, 0, 66, 90, 0, 0}}, /* 19 */
{0, 12, {0, 90, 66, 0, 66, 66, 0, 66, 66, 0, 66, 90, 0, 0}}, /* 20 */
{0, 12, {0, 90, 66, 0, 66, 66, 0, 66, 66, 0, 66, 90, 0, 0}}, /* 21 */
{0, 12, {0, 90, 66, 0, 66, 66, 0, 66, 66, 0, 66, 90, 0, 0}}, /* 22 */
{0, 12, {0, 90, 66, 0, 66, 66, 0, 66, 66, 0, 66, 90, 0, 0}}, /* 23 */
{0, 12, {0, 90, 66, 0, 66, 66, 0, 66, 66, 0, 66, 90, 0, 0}}, /* 24 */
{0, 12, {0, 90, 66, 0, 66, 66, 0, 66, 66, 0, 66, 90, 0, 0}}, /* 25 */
{0, 12, {0, 90, 66, 0, 66, 66, 0, 66, 66, 0, 66, 90, 0, 0}}, /* 26 */
{0, 12, {0, 90, 66, 0, 66, 66, 0, 66, 66, 0, 66, 90, 0, 0}}, /* 27 */
{0, 12, {0, 90, 66, 0, 66, 66, 0, 66, 66, 0, 66, 90, 0, 0}}, /* 28 */
{0, 12, {0, 90, 66, 0, 66, 66, 0, 66, 66, 0, 66, 90, 0, 0}}, /* 29 */
{0, 12, {0, 90, 66, 0, 66, 66, 0, 66, 66, 0, 66, 90, 0, 0}}, /* 30 */
{0, 12, {0, 90, 66, 0, 66, 66, 0, 66, 66, 0, 66, 90, 0, 0}}, /* 31 */
{0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 32 */
{0, 12, {0, 0, 24, 24, 24, 24, 24, 24, 24, 0, 24, 24, 0, 0}}, /* 33 */
{0, 12, {0, 54, 54, 54, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 34 */
{0, 12, {0, 0, 60, 60, 60, 126, 60, 60, 126, 60, 60, 60, 0, 0}}, /* 35 */
{0, 12, {0, 0, 24, 60, 90, 90, 56, 28, 26, 90, 90, 60, 24, 0}}, /* 36 */
{0, 12, {0, 0, 54, 110, 108, 56, 8, 16, 28, 54, 118, 108, 0, 0}}, /* 37 */
{0, 12, {0, 0, 28, 54, 54, 54, 28, 54, 110, 108, 108, 54, 0, 0}}, /* 38 */
{0, 12, {0, 24, 24, 24, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 39 */
{0, 12, {0, 6, 12, 24, 24, 48, 48, 48, 48, 48, 24, 24, 12, 6}}, /* 40 */
{0, 12, {0, 48, 24, 12, 12, 6, 6, 6, 6, 6, 12, 12, 24, 48}}, /* 41 */
{0, 12, {0, 0, 90, 90, 60, 24, 60, 90, 90, 0, 0, 0, 0, 0}}, /* 42 */
{0, 12, {0, 0, 0, 0, 24, 24, 24, 126, 24, 24, 24, 0, 0, 0}}, /* 43 */
{0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 12, 12, 24}}, /* 44 */
{0, 12, {0, 0, 0, 0, 0, 0, 0, 126, 0, 0, 0, 0, 0, 0}}, /* 45 */
{0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 24, 0, 0}}, /* 46 */
{0, 12, {0, 6, 6, 6, 12, 12, 24, 24, 24, 48, 48, 96, 96, 96}}, /* 47 */
{0, 12, {0, 0, 60, 102, 102, 102, 102, 102, 102, 102, 102, 60, 0, 0}}, /* 48 */
{0, 12, {0, 0, 24, 56, 120, 24, 24, 24, 24, 24, 24, 126, 0, 0}}, /* 49 */
{0, 12, {0, 0, 60, 102, 102, 6, 12, 12, 24, 48, 96, 126, 0, 0}}, /* 50 */
{0, 12, {0, 0, 60, 102, 102, 6, 28, 6, 6, 102, 102, 60, 0, 0}}, /* 51 */
{0, 12, {0, 0, 4, 12, 12, 28, 60, 108, 108, 126, 12, 12, 0, 0}}, /* 52 */
{0, 12, {0, 0, 126, 96, 96, 124, 102, 6, 6, 102, 102, 60, 0, 0}}, /* 53 */
{0, 12, {0, 0, 28, 54, 102, 96, 124, 102, 102, 102, 102, 60, 0, 0}}, /* 54 */
{0, 12, {0, 0, 126, 102, 108, 12, 24, 24, 24, 24, 24, 24, 0, 0}}, /* 55 */
{0, 12, {0, 0, 60, 102, 102, 102, 60, 60, 102, 102, 102, 60, 0, 0}}, /* 56 */
{0, 12, {0, 0, 60, 102, 102, 102, 102, 62, 6, 102, 108, 56, 0, 0}}, /* 57 */
{0, 12, {0, 0, 0, 0, 24, 24, 0, 0, 0, 24, 24, 0, 0, 0}}, /* 58 */
{0, 12, {0, 0, 0, 0, 12, 12, 0, 0, 0, 28, 12, 12, 24, 0}}, /* 59 */
{0, 12, {0, 0, 0, 6, 12, 24, 48, 96, 48, 24, 12, 6, 0, 0}}, /* 60 */
{0, 12, {0, 0, 0, 0, 0, 0, 126, 0, 0, 126, 0, 0, 0, 0}}, /* 61 */
{0, 12, {0, 0, 0, 96, 48, 24, 12, 6, 12, 24, 48, 96, 0, 0}}, /* 62 */
{0, 12, {0, 0, 60, 102, 102, 12, 24, 24, 24, 0, 24, 24, 0, 0}}, /* 63 */
{0, 12, {0, 0, 28, 54, 110, 122, 122, 122, 122, 110, 48, 30, 0, 0}}, /* 64 */
{0, 12, {0, 0, 60, 126, 102, 102, 102, 102, 126, 102, 102, 102, 0, 0}}, /* 65 */
{0, 12, {0, 0, 124, 102, 102, 100, 124, 102, 102, 102, 102, 124, 0, 0}}, /* 66 */
{0, 12, {0, 0, 60, 102, 102, 96, 96, 96, 96, 102, 102, 60, 0, 0}}, /* 67 */
{0, 12, {0, 0, 120, 108, 102, 102, 102, 102, 102, 102, 108, 120, 0, 0}}, /* 68 */
{0, 12, {0, 0, 126, 96, 96, 96, 124, 96, 96, 96, 96, 126, 0, 0}}, /* 69 */
{0, 12, {0, 0, 126, 96, 96, 96, 124, 96, 96, 96, 96, 96, 0, 0}}, /* 70 */
{0, 12, {0, 0, 60, 102, 102, 96, 96, 110, 102, 102, 102, 60, 0, 0}}, /* 71 */
{0, 12, {0, 0, 102, 102, 102, 102, 126, 102, 102, 102, 102, 102, 0, 0}}, /* 72 */
{0, 12, {0, 0, 126, 24, 24, 24, 24, 24, 24, 24, 24, 126, 0, 0}}, /* 73 */
{0, 12, {0, 0, 6, 6, 6, 6, 6, 6, 6, 102, 108, 56, 0, 0}}, /* 74 */
{0, 12, {0, 0, 102, 108, 120, 112, 112, 120, 120, 108, 102, 102, 0, 0}}, /* 75 */
{0, 12, {0, 0, 96, 96, 96, 96, 96, 96, 96, 96, 96, 126, 0, 0}}, /* 76 */
{0, 12, {0, 0, 66, 102, 102, 126, 126, 102, 102, 102, 102, 102, 0, 0}}, /* 77 */
{0, 12, {0, 0, 102, 102, 118, 118, 118, 110, 110, 110, 102, 102, 0, 0}}, /* 78 */
{0, 12, {0, 0, 60, 102, 102, 102, 102, 102, 102, 102, 102, 60, 0, 0}}, /* 79 */
{0, 12, {0, 0, 124, 102, 102, 102, 102, 124, 96, 96, 96, 96, 0, 0}}, /* 80 */
{0, 12, {0, 0, 60, 102, 102, 102, 102, 102, 118, 110, 102, 60, 6, 2}}, /* 81 */
{0, 12, {0, 0, 124, 102, 102, 102, 124, 108, 102, 102, 102, 102, 0, 0}}, /* 82 */
{0, 12, {0, 0, 60, 102, 102, 48, 24, 24, 12, 102, 102, 60, 0, 0}}, /* 83 */
{0, 12, {0, 0, 126, 24, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0}}, /* 84 */
{0, 12, {0, 0, 102, 102, 102, 102, 102, 102, 102, 102, 102, 60, 0, 0}}, /* 85 */
{0, 12, {0, 0, 102, 102, 102, 102, 102, 102, 102, 60, 60, 24, 0, 0}}, /* 86 */
{0, 12, {0, 0, 102, 102, 102, 102, 102, 126, 126, 126, 126, 36, 0, 0}}, /* 87 */
{0, 12, {0, 0, 102, 102, 60, 60, 24, 24, 60, 60, 102, 102, 0, 0}}, /* 88 */
{0, 12, {0, 0, 102, 102, 102, 60, 60, 24, 24, 24, 24, 24, 0, 0}}, /* 89 */
{0, 12, {0, 0, 126, 6, 12, 12, 24, 24, 48, 48, 96, 126, 0, 0}}, /* 90 */
{0, 12, {0, 62, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 62}}, /* 91 */
{0, 12, {0, 96, 96, 96, 48, 48, 24, 24, 24, 12, 12, 6, 6, 6}}, /* 92 */
{0, 12, {0, 62, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 62}}, /* 93 */
{0, 12, {24, 60, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 94 */
{0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 126}}, /* 95 */
{0, 12, {0, 48, 24, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 96 */
{0, 12, {0, 0, 0, 0, 0, 60, 102, 14, 54, 102, 102, 62, 0, 0}}, /* 97 */
{0, 12, {0, 0, 96, 96, 96, 124, 102, 102, 102, 102, 102, 124, 0, 0}}, /* 98 */
{0, 12, {0, 0, 0, 0, 0, 60, 102, 96, 96, 96, 102, 60, 0, 0}}, /* 99 */
{0, 12, {0, 0, 6, 6, 6, 62, 102, 102, 102, 102, 102, 62, 0, 0}}, /* 100 */
{0, 12, {0, 0, 0, 0, 0, 60, 102, 102, 126, 96, 102, 60, 0, 0}}, /* 101 */
{0, 12, {0, 0, 12, 30, 24, 24, 126, 24, 24, 24, 24, 24, 0, 0}}, /* 102 */
{0, 12, {0, 0, 0, 0, 0, 58, 110, 108, 108, 56, 32, 124, 102, 60}}, /* 103 */
{0, 12, {0, 0, 96, 96, 96, 124, 102, 102, 102, 102, 102, 102, 0, 0}}, /* 104 */
{0, 12, {0, 0, 24, 24, 0, 24, 24, 24, 24, 24, 24, 24, 0, 0}}, /* 105 */
{0, 12, {0, 0, 6, 6, 0, 6, 6, 6, 6, 6, 6, 6, 54, 28}}, /* 106 */
{0, 12, {0, 0, 96, 96, 96, 100, 108, 120, 120, 108, 102, 98, 0, 0}}, /* 107 */
{0, 12, {0, 0, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0}}, /* 108 */
{0, 12, {0, 0, 0, 0, 0, 108, 126, 126, 126, 126, 126, 102, 0, 0}}, /* 109 */
{0, 12, {0, 0, 0, 0, 0, 124, 102, 102, 102, 102, 102, 102, 0, 0}}, /* 110 */
{0, 12, {0, 0, 0, 0, 0, 60, 102, 102, 102, 102, 102, 60, 0, 0}}, /* 111 */
{0, 12, {0, 0, 0, 0, 0, 124, 102, 102, 102, 102, 102, 124, 96, 96}}, /* 112 */
{0, 12, {0, 0, 0, 0, 0, 62, 102, 102, 102, 102, 102, 62, 6, 6}}, /* 113 */
{0, 12, {0, 0, 0, 0, 0, 124, 102, 102, 96, 96, 96, 96, 0, 0}}, /* 114 */
{0, 12, {0, 0, 0, 0, 0, 60, 102, 48, 24, 12, 102, 60, 0, 0}}, /* 115 */
{0, 12, {0, 0, 24, 24, 24, 126, 24, 24, 24, 24, 24, 14, 0, 0}}, /* 116 */
{0, 12, {0, 0, 0, 0, 0, 102, 102, 102, 102, 102, 102, 62, 0, 0}}, /* 117 */
{0, 12, {0, 0, 0, 0, 0, 102, 102, 102, 60, 60, 24, 24, 0, 0}}, /* 118 */
{0, 12, {0, 0, 0, 0, 0, 102, 102, 126, 126, 126, 126, 36, 0, 0}}, /* 119 */
{0, 12, {0, 0, 0, 0, 0, 102, 102, 60, 24, 60, 102, 102, 0, 0}}, /* 120 */
{0, 12, {0, 0, 0, 0, 0, 102, 102, 54, 54, 28, 28, 12, 108, 56}}, /* 121 */
{0, 12, {0, 0, 0, 0, 0, 126, 6, 12, 24, 48, 96, 126, 0, 0}}, /* 122 */
{0, 12, {0, 14, 24, 24, 24, 24, 24, 48, 24, 24, 24, 24, 24, 14}}, /* 123 */
{0, 12, {0, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24}}, /* 124 */
{0, 12, {0, 56, 12, 12, 12, 12, 12, 6, 12, 12, 12, 12, 12, 56}}, /* 125 */
{0, 12, {0, 34, 122, 94, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 126 */
{0, 12, {0, 90, 66, 0, 66, 66, 0, 66, 66, 0, 66, 90, 0, 0}} /* 127 */
};

View File

@@ -48,7 +48,7 @@ static void draw(MwWidget handle) {
point.x = r.x + r.width / 2;
point.y = r.x + r.height / 2;
MwDrawText(handle, &point, str, text);
MwDrawText(handle, &point, str, 0, text);
}
MwLLFreeColor(text);

View File

@@ -127,7 +127,7 @@ void MwDrawFrameEx(MwWidget handle, MwRect* rect, MwLLColor color, int invert, i
rect->height -= border * 2;
}
void MwDrawText(MwWidget handle, MwPoint* point, const char* text, MwLLColor color) {
void MwDrawText(MwWidget handle, MwPoint* point, const char* text, int bold, MwLLColor color) {
int i, x, y, sx, sy;
MwRect r;
@@ -142,7 +142,7 @@ void MwDrawText(MwWidget handle, MwPoint* point, const char* text, MwLLColor col
r.width = FontScale;
r.height = FontScale;
if(MwFontData[(unsigned char)text[i]].data[y] & (1 << ((FontWidth - 1) - x))) {
if((bold ? MwBoldFontData : MwFontData)[(unsigned char)text[i]].data[y] & (1 << ((FontWidth - 1) - x))) {
MwDrawRect(handle, &r, color);
}
}

View File

@@ -85,7 +85,7 @@ static void draw(MwWidget handle) {
p.x += tw / 2;
MwDrawText(handle, &p, m->sub[i]->name, text);
MwDrawText(handle, &p, m->sub[i]->name, 1, text);
p.x += tw / 2 + 20;
}