add icons

git-svn-id: http://svn2.nishi.boats/svn/milsko/trunk@255 b9cfdab3-6d41-4d17-bbe4-086880011989
This commit is contained in:
NishiOwO
2025-10-10 16:46:53 +00:00
parent 2ba648ef74
commit 9ce8a02181
11 changed files with 996 additions and 2 deletions

View File

@@ -9,6 +9,8 @@
#include <jerror.h>
#endif
#include "external/stb_ds.h"
#define FontWidth 7
#define FontHeight 14
#define FontScale 1
@@ -550,15 +552,57 @@ MwLLPixmap MwLoadImage(MwWidget handle, const char* path) {
if(rgb == NULL) return NULL;
px = MwLLCreatePixmap(handle->lowlevel, rgb, width, height);
px = MwLoadRaw(handle, rgb, width, height);
free(rgb);
return px;
}
MwLLPixmap MwLoadRaw(MwWidget handle, unsigned char* rgb, int width, int height) {
MwLLPixmap px;
px = MwLLCreatePixmap(handle->lowlevel, rgb, width, height);
return px;
}
void MwGetColor(MwLLColor color, int* red, int* green, int* blue) {
*red = color->red;
*green = color->green;
*blue = color->blue;
}
typedef struct color {
char* key;
char* value;
} color_t;
MwLLPixmap MwLoadXPM(MwWidget handle, char** data) {
int col, row, colors, cpp;
unsigned char* rgb;
MwLLPixmap px;
char k[512];
color_t* c = NULL;
int i;
sh_new_strdup(c);
sscanf(data[0], "%d %d %d %d", &col, &row, &colors, &cpp);
for(i = 0; i < colors; i++) {
memcpy(k, data[i + 1], cpp);
k[cpp] = 0;
printf("%s\n", k);
}
rgb = malloc(row * col * 4);
px = MwLoadRaw(handle, rgb, col, row);
free(rgb);
shfree(c);
return px;
}

45
src/icon/info.c Normal file
View File

@@ -0,0 +1,45 @@
/* $Id$ */
#include <Mw/Milsko.h>
/* XPM */
char *MwIconInfo[] = {
/* columns rows colors chars-per-pixel */
"32 32 4 1 ",
" c black",
". c #6632F7",
"X c white",
"o c None",
/* pixels */
"oooooooooooooooooooooooooooooooo",
"ooooooooooo oooooooooooo",
"ooooooooo ooooooooo",
"ooooooo ......... oooooooo",
"oooooo ............. oooooo",
"ooooo ................ ooooo",
"oooo ........XX........ ooooo",
"ooo ........XXXX........ oooo",
"ooo .........XXXX......... ooo",
"oo ..........XXXX......... ooo",
"oo ...........XX........... oo",
"o ......................... oo",
"o ...........XXXX.......... oo",
"o ...........XXXX........... o",
"o ...........XXXX........... o",
"o ...........XXXX........... o",
"o ...........XXXX........... o",
"o ...........XXXX........... o",
"o ...........XXXX.......... oo",
"o ...........XXXX.......... oo",
"oo ..........XXXX.......... oo",
"oo ..........XXXX......... oo",
"oo .........XXXX......... ooo",
"ooo .........XXXX........ ooo",
"oooo ........XXXX....... oooo",
"oooo ........XX....... ooooo",
"ooooo ............... oooooo",
"ooooooo ........... ooooooo",
"oooooooo ..... oooooooo",
"oooooooooo oooooooooo",
"ooooooooooooo oooooooooooooo",
"oooooooooooooooooooooooooooooooo"
};

45
src/icon/note.c Normal file
View File

@@ -0,0 +1,45 @@
/* $Id$ */
#include <Mw/Milsko.h>
/* XPM */
char *MwIconNote[] = {
/* columns rows colors chars-per-pixel */
"32 32 4 1 ",
" c None",
". c black",
"X c #FCFC00",
"o c black",
/* pixels */
" ",
" ..... ",
" ............ ",
" ......XXXXX..... ",
" ....XXXXXXXXXXX... ",
" ...XXXXXXXXXXXXXXX... ",
" ...XXXXXXX..XXXXXXXX... ",
" ...XXXXXXX....XXXXXXXX.. ",
" ...XXXXXXXX....XXXXXXXXX.. ",
" ..XXXXXXXXX....XXXXXXXXX... ",
" ...XXXXXXXXX....XXXXXXXXXX.. ",
" ..XXXXXXXXXX....XXXXXXXXXX.. ",
" ..XXXXXXXXXX....XXXXXXXXXXX.. ",
" ..XXXXXXXXXX....XXXXXXXXXXX.. ",
" ..XXXXXXXXXXX....XXXXXXXXXXX.. ",
" ..XXXXXXXXXXX....XXXXXXXXXXX.. ",
" ..XXXXXXXXXXX....XXXXXXXXXXX.. ",
" ..XXXXXXXXXXX....XXXXXXXXXXX.. ",
" ..XXXXXXXXXXX....XXXXXXXXXXX.. ",
" ..XXXXXXXXXX....XXXXXXXXXXX.. ",
" ..XXXXXXXXXXXXXXXXXXXXXXXXX.. ",
" ..XXXXXXXXXXX..XXXXXXXXXXX.. ",
" ..XXXXXXXXX....XXXXXXXXXX.. ",
" ..XXXXXXXXX....XXXXXXXXX.. ",
" ..XXXXXXXX....XXXXXXXX... ",
" ..XXXXXXXX..XXXXXXXX... ",
" ...XXXXXXXXXXXXXXXX... ",
" ....XXXXXXXXXXXXX... ",
" ....XXXXXXXXX.... ",
" .............. ",
" ......... ",
" "
};

43
src/icon/question.c Normal file
View File

@@ -0,0 +1,43 @@
/* $Id$ */
#include <Mw/Milsko.h>
/* XPM */
char *MwIconQuestion[] = {
/* columns rows colors chars-per-pixel */
"32 32 2 1 ",
" c None",
". c red",
/* pixels */
" ",
" ....... ",
" ............. ",
" ..... ...... ",
" .... ...... ",
" ... ...... ",
" .... ...... ",
" ..... ...... ",
" ..... ...... ",
" .. ...... ",
" ....... ",
" ...... ",
" ....... ",
" ....... ",
" ....... ",
" ...... ",
" ..... ",
" .... ",
" ... ",
" .... ",
" .... ",
" ..... ",
" ...... ",
" ...... ",
" .... ",
" ",
" .. ",
" ...... ",
" ...... ",
" ...... ",
" .... ",
" "
};

45
src/icon/warning.c Normal file
View File

@@ -0,0 +1,45 @@
/* $Id$ */
#include <Mw/Milsko.h>
/* XPM */
char *MwIconWarning[] = {
/* columns rows colors chars-per-pixel */
"32 32 4 1 ",
" c None",
". c #FC0000",
"X c gray",
"o c black",
/* pixels */
" ",
" ",
" . ",
" ... ",
" ..X.. ",
" .XXX. ",
" ..XXX.. ",
" .XXXXX. ",
" ..XXoXX.. ",
" .XXoooXX. ",
" ..XXoooXX.. ",
" .XXXoooXXX. ",
" ..XXXoooXXX.. ",
" .XXXXoooXXXX. ",
" ..XXXXoooXXXX.. ",
" .XXXXXoooXXXXX. ",
" ..XXXXXoooXXXXX.. ",
" .XXXXXXoooXXXXXX. ",
" ..XXXXXXoooXXXXXX.. ",
" .XXXXXXXoooXXXXXXX. ",
" ..XXXXXXXoooXXXXXXX.. ",
" .XXXXXXXXXoXXXXXXXXX. ",
" ..XXXXXXXXXXXXXXXXXXX.. ",
" .XXXXXXXXXXoXXXXXXXXXX. ",
" ..XXXXXXXXXoooXXXXXXXXX.. ",
" .XXXXXXXXXoooooXXXXXXXXX. ",
" ..XXXXXXXXXXoooXXXXXXXXXX.. ",
" .XXXXXXXXXXXXoXXXXXXXXXXXX. ",
" ..XXXXXXXXXXXXXXXXXXXXXXXXX.. ",
" ............................. ",
" ........................... ",
" "
};