git-svn-id: http://svn2.nishi.boats/svn/milsko/trunk@359 b9cfdab3-6d41-4d17-bbe4-086880011989
This commit is contained in:
NishiOwO
2025-10-16 10:33:12 +00:00
parent 8d0745a7a2
commit ff5005f4e7
17 changed files with 578 additions and 301 deletions

View File

@@ -205,4 +205,4 @@ examples/%.o: examples/%.c
$(CC) $(E_CFLAGS) -c -o $@ $< $(CC) $(E_CFLAGS) -c -o $@ $<
clean: clean:
rm -f */*.dll */*.so */*.lib */*.a */*.o */*/*.o external/*/src/*.o examples/*.exe $(EXAMPLES) examples/opengl examples/vulkan rm -f */*.dll */*.so */*.lib */*.a */*.o */*/*.o external/*/src/*.o examples/*/*.exe $(EXAMPLES)

View File

@@ -52,7 +52,6 @@ MWDECL char* MwIconQuestion[];
*/ */
MWDECL char* MwIconWarning[]; MWDECL char* MwIconWarning[];
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif

View File

@@ -36,9 +36,7 @@ typedef void (*MwHandler5)(MwWidget handle, void* ptr);
typedef void (*MwUserHandler)(MwWidget handle, void* user_data, void* call_data); typedef void (*MwUserHandler)(MwWidget handle, void* user_data, void* call_data);
typedef void (*MwErrorHandler)(int code, const char* message, void* user_data); typedef void (*MwErrorHandler)(int code, const char* message, void* user_data);
#ifdef _MILSKO
#include <Mw/LowLevel.h> #include <Mw/LowLevel.h>
#endif
struct _MwPoint { struct _MwPoint {
int x; int x;
@@ -125,6 +123,7 @@ struct _MwListBox {
MwWidget vscroll; MwWidget vscroll;
MwWidget frame; MwWidget frame;
char** list; char** list;
MwLLPixmap* pixmap_list;
int selected; int selected;
unsigned long click_time; unsigned long click_time;
int pressed; int pressed;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 132 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 302 B

After

Width:  |  Height:  |  Size: 177 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 116 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 313 B

After

Width:  |  Height:  |  Size: 149 B

View File

@@ -394,7 +394,7 @@ void MwLLDestroyPixmap(MwLLPixmap pixmap) {
} }
void MwLLDrawPixmap(MwLL handle, MwRect* rect, MwLLPixmap pixmap) { void MwLLDrawPixmap(MwLL handle, MwRect* rect, MwLLPixmap pixmap) {
HDC hmdc = CreateCompatibleDC(handle->hDC); HDC hmdc = CreateCompatibleDC(handle->hDC);
POINT p[3]; POINT p[3];
p[0].x = rect->x; p[0].x = rect->x;

View File

@@ -2,21 +2,30 @@
#include <Mw/Milsko.h> #include <Mw/Milsko.h>
/* XPM */ /* XPM */
char *MwIconDirectory[] = { char* MwIconDirectory[] = {
/* columns rows colors chars-per-pixel */ /* columns rows colors chars-per-pixel */
"8 8 5 1 ", "16 16 7 1 ",
" c NavajoWhite", " c NavajoWhite",
". c #2B251D", ". c #FFDCAE",
"X c #B8A07D", "X c None",
"o c black", "o c #B8A07D",
"O c #574B3B", "O c #574B3B",
/* pixels */ "+ c #2B251D",
" ..XXXX", "@ c black",
" ..XX", /* pixels */
" oX", "XX@@XXXXXXXXXXXX",
" XoO", "@+oo@@XX@@XXXXXX",
" XoO", "@ ++oo@@o.@@XXXX",
" XoO", "@ ++oooo.o@XXX",
" XoO", "@ ++oooo@XXX",
"X XoO" "@ ++oo@XXX",
}; "@ @o@XXX",
"@ o@O@XXX",
"@ o@O@XXX",
"@ o@O@XXX",
"@Oo o@O@XXX",
"X@@Oo o@O@XXX",
"XXX@@Oo o@O@+XX",
"XXXXX@@Ooo@O@++X",
"XXXXXXX@@O@O@++X",
"XXXXXXXXX@@@++XX"};

View File

@@ -2,48 +2,47 @@
#include <Mw/Milsko.h> #include <Mw/Milsko.h>
/* XPM */ /* XPM */
char *MwIconError[] = { char* MwIconError[] = {
/* columns rows colors chars-per-pixel */ /* columns rows colors chars-per-pixel */
"32 32 8 1 ", "32 32 8 1 ",
" c black", " c None",
". c DarkSlateGray", ". c black",
"X c SlateGray", "X c white",
"o c gray", "o c gray",
"O c gainsboro", "O c gainsboro",
"+ c lavender", "+ c lavender",
"@ c white", "@ c DarkSlateGray",
"# c None", "# c SlateGray",
/* pixels */ /* pixels */
"## ###################### ##", " ... ... ",
"## @o #################### @@ ##", " .Xo. .XX. ",
" @@o #################### @@@ ", "..XXo. .XXX..",
" @@oo #################### @@Oo ", ".XXoo. .XXOo.",
" @@ooo ### ###### @Oooo ", ".XXooo. ......... .XOooo.",
"# @oo O+++++++o ### @oo .", " ...Xoo...O+++++++o.. .Xoo...@",
"#### @o XO++@@@@@++Oo # @oo ....", " .Xo.#O++XXXXX++Oo. .Xoo.@@@@",
"##### XOO+@@@@@@+OOOo Xoo ..###", " ..#OO+XXXXXX+OOOo.#oo.@@ ",
"###### OOO+@@@@@++OOOo .X ..####", " .OOO+XXXXX++OOOo.@#.@@ ",
"##### XOOO+@@@@++OOOooX ..#####", " .#OOO+XXXX++OOOoo#..@@ ",
"##### XOOO+@@+++OOOOooX ..######", " .#OOO+XX+++OOOOoo#.@@ ",
"##### Xooo+++++OOOOoXXX ...#####", " .#ooo+++++OOOOo###.@@@ ",
"##### oo@@@@@+OOO++++XX ...#####", " .ooXXXXX+OOO++++##.@@@ ",
"##### o@@OOOOOOO++OOooX ...#####", " .oXXOOOOOOO++OOoo#.@@@ ",
"###### oo OOOOO oo ...#####", " .oo...OOOOO...oo..@@@ ",
"###### o ooo o ....#####", " .o.....ooo.....o.@@@@ ",
"###### @ ooo .Xo ...######", " .X.....ooo...@#o.@@@ ",
"##### o@.... @oo .XX.oo ..######", " .oX@@@@.Xoo.@##@oo.@@ ",
"##### O@o.. @o o@ ..o@o ...#####", " .OXo@@.Xo.oX.@@oXo.@@@ ",
"##### OO@@@@o o@@@Ooo ...#####", " .OOXXXXo...oXXXOoo.@@@ ",
"###### oOO@o o oOOOo . ..#####", " ..oOOXo.o.oOOOo..@.@@ ",
"####### oOOo o oOOo .XX .#####", " ..oOOo.o.oOOo..@##.@ ",
"###### o o@@@@@OOo o XXX #####", " ..o.oXXXXXOOo.o..###. ",
"##### oo o .o@@o o .. Xo@ ##", " .oo.o.@oXXo...o.@@.#oX... ",
"#### @@o @.o .o o ... oo@@@ #", " .XXo.X@o....@o.o.@@@.ooXXX. ",
"# @@o @.@.o.o.@ o ...# o@oo #", " ...XXo..X@X@o@o@X.o.@@@ .oXoo. ",
" @@@oo .. @ .@.@. o ....# @oo .", ".XXXoo.@@.X.@X@X@.o.@@@@ .Xoo..@",
" @@@o ... @ .o.o. o ...## oo ...", ".XXXo.@@@.X.@o@o@.o.@@@ .oo.@@@",
" ooo ..## @ o ....### ..#", "..ooo.@@ .X.....o.@@@@ ...@@ ",
"## oo .### @@@@ooo ...#####...##", " .oo.@ .XXXXooo.@@@ @@@ ",
"## ..#### ooooo ...###########", " ...@@ .ooooo.@@@ ",
"###....##### ..#############" " @@@@ .....@@ "};
};

View File

@@ -2,23 +2,279 @@
#include <Mw/Milsko.h> #include <Mw/Milsko.h>
/* XPM */ /* XPM */
char *MwIconFile[] = { char* MwIconFile[] = {
/* columns rows colors chars-per-pixel */ /* columns rows colors chars-per-pixel */
"8 8 7 1 ", "16 16 256 2 ",
" c #393939", " c black",
". c gray42", ". c #010101",
"X c gray55", "X c #020202",
"o c #CECECE", "o c gray1",
"O c #E7E7E7", "O c #040404",
"+ c white", "+ c gray2",
"@ c None", "@ c #060606",
/* pixels */ "# c #070707",
"+++ooo@X", "$ c gray3",
"++++ ", "% c #090909",
"+++++@@.", "& c gray4",
"++++++O.", "* c #0B0B0B",
"+++++++.", "= c #0C0C0C",
"+++++++.", "- c gray5",
"+++++++.", "; c #0E0E0E",
"+++++++." ": c gray6",
}; "> c #101010",
", c #111111",
"< c gray7",
"1 c #131313",
"2 c gray8",
"3 c #151515",
"4 c #161616",
"5 c gray9",
"6 c #181818",
"7 c #191919",
"8 c gray10",
"9 c #1B1B1B",
"0 c gray11",
"q c #1D1D1D",
"w c #1E1E1E",
"e c gray12",
"r c #202020",
"t c gray13",
"y c #222222",
"u c #232323",
"i c gray14",
"p c #252525",
"a c gray15",
"s c #272727",
"d c #282828",
"f c gray16",
"g c #2A2A2A",
"h c gray17",
"j c #2C2C2C",
"k c #2D2D2D",
"l c gray18",
"z c #2F2F2F",
"x c gray19",
"c c #313131",
"v c #323232",
"b c gray20",
"n c #343434",
"m c #353535",
"M c gray21",
"N c #373737",
"B c gray22",
"V c #393939",
"C c #3A3A3A",
"Z c gray23",
"A c #3C3C3C",
"S c gray24",
"D c #3E3E3E",
"F c #3F3F3F",
"G c gray25",
"H c #414141",
"J c gray26",
"K c #434343",
"L c #444444",
"P c gray27",
"I c #464646",
"U c gray28",
"Y c #484848",
"T c #494949",
"R c gray29",
"E c #4B4B4B",
"W c #4C4C4C",
"Q c gray30",
"! c #4E4E4E",
"~ c gray31",
"^ c #505050",
"/ c #515151",
"( c gray32",
") c #535353",
"_ c gray33",
"` c #555555",
"' c #565656",
"] c gray34",
"[ c #585858",
"{ c gray35",
"} c #5A5A5A",
"| c #5B5B5B",
" . c gray36",
".. c #5D5D5D",
"X. c gray37",
"o. c #5F5F5F",
"O. c #606060",
"+. c gray38",
"@. c #626262",
"#. c gray39",
"$. c #646464",
"%. c #656565",
"&. c gray40",
"*. c #676767",
"=. c #686868",
"-. c DimGray",
";. c #6A6A6A",
":. c gray42",
">. c #6C6C6C",
",. c #6D6D6D",
"<. c gray43",
"1. c #6F6F6F",
"2. c gray44",
"3. c #717171",
"4. c #727272",
"5. c gray45",
"6. c #747474",
"7. c gray46",
"8. c #767676",
"9. c #777777",
"0. c gray47",
"q. c #797979",
"w. c gray48",
"e. c #7B7B7B",
"r. c #7C7C7C",
"t. c gray49",
"y. c #7E7E7E",
"u. c gray50",
"i. c #808080",
"p. c #818181",
"a. c gray51",
"s. c #838383",
"d. c #848484",
"f. c gray52",
"g. c #868686",
"h. c gray53",
"j. c #888888",
"k. c #898989",
"l. c gray54",
"z. c #8B8B8B",
"x. c gray55",
"c. c #8D8D8D",
"v. c #8E8E8E",
"b. c gray56",
"n. c #909090",
"m. c gray57",
"M. c #929292",
"N. c #939393",
"B. c gray58",
"V. c #959595",
"C. c gray59",
"Z. c #979797",
"A. c #989898",
"S. c gray60",
"D. c #9A9A9A",
"F. c #9B9B9B",
"G. c gray61",
"H. c #9D9D9D",
"J. c gray62",
"K. c #9F9F9F",
"L. c #A0A0A0",
"P. c gray63",
"I. c #A2A2A2",
"U. c gray64",
"Y. c #A4A4A4",
"T. c #A5A5A5",
"R. c gray65",
"E. c #A7A7A7",
"W. c gray66",
"Q. c #A9A9A9",
"!. c #AAAAAA",
"~. c gray67",
"^. c #ACACAC",
"/. c gray68",
"(. c #AEAEAE",
"). c #AFAFAF",
"_. c gray69",
"`. c #B1B1B1",
"'. c #B2B2B2",
"]. c gray70",
"[. c #B4B4B4",
"{. c gray71",
"}. c #B6B6B6",
"|. c #B7B7B7",
" X c gray72",
".X c #B9B9B9",
"XX c gray73",
"oX c #BBBBBB",
"OX c #BCBCBC",
"+X c gray74",
"@X c gray",
"#X c gray75",
"$X c None",
"%X c #C1C1C1",
"&X c gray76",
"*X c #C3C3C3",
"=X c gray77",
"-X c #C5C5C5",
";X c #C6C6C6",
":X c gray78",
">X c #C8C8C8",
",X c gray79",
"<X c #CACACA",
"1X c #CBCBCB",
"2X c gray80",
"3X c #CDCDCD",
"4X c #CECECE",
"5X c gray81",
"6X c #D0D0D0",
"7X c gray82",
"8X c #D2D2D2",
"9X c LightGray",
"0X c gray83",
"qX c #D5D5D5",
"wX c gray84",
"eX c #D7D7D7",
"rX c #D8D8D8",
"tX c gray85",
"yX c #DADADA",
"uX c gray86",
"iX c gainsboro",
"pX c #DDDDDD",
"aX c gray87",
"sX c #DFDFDF",
"dX c gray88",
"fX c #E1E1E1",
"gX c #E2E2E2",
"hX c gray89",
"jX c #E4E4E4",
"kX c gray90",
"lX c #E6E6E6",
"zX c #E7E7E7",
"xX c gray91",
"cX c #E9E9E9",
"vX c #EAEAEA",
"bX c gray92",
"nX c #ECECEC",
"mX c gray93",
"MX c #EEEEEE",
"NX c #EFEFEF",
"BX c gray94",
"VX c #F1F1F1",
"CX c gray95",
"ZX c #F3F3F3",
"AX c #F4F4F4",
"SX c gray96",
"DX c #F6F6F6",
"FX c gray97",
"GX c #F8F8F8",
"HX c #F9F9F9",
"JX c gray98",
"KX c #FBFBFB",
"LX c gray99",
"PX c #FDFDFD",
"IX c #FEFEFE",
"UX c white",
/* pixels */
"$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X",
"$X$X$X$X$X$X$X$Xx.$X$X$X$X$X$X$X",
"4XUXUXUXUXUXUX4XzXx.$X$X$X$X$X$X",
"4XUXUXUXUXUXUX4XUXzXx.$X$X$X$X$X",
"4XUXUXUXUXUXUX4X4X4X$Xx.$X$X$X$X",
"4XUXUXUXUXUXUXUXV V V V $X$X$X$X",
"4XUXUXUXUXUXUXUXUX$X$X:.$X$X$X$X",
"4XUXUXUXUXUXUXUXUXUXzX:.$X$X$X$X",
"4XUXUXUXUXUXUXUXUXUXUX:.$X$X$X$X",
"4XUXUXUXUXUXUXUXUXUXUX:.$X$X$X$X",
"4XUXUXUXUXUXUXUXUXUXUX:.$X$X$X$X",
"4XUXUXUXUXUXUXUXUXUXUX:.$X$X$X$X",
"4XUXUXUXUXUXUXUXUXUXUX:.$X$X$X$X",
"4XUXUXUXUXUXUXUXUXUXUX:.$X$X$X$X",
"4XUXUXUXUXUXUXUXUXUXUX:.$X$X$X$X",
"$Xx.:.:.:.:.:.:.:.:.:.V $X$X$X$X"};

View File

@@ -2,43 +2,43 @@
#include <Mw/Milsko.h> #include <Mw/Milsko.h>
/* XPM */ /* XPM */
char *MwIconInfo[] = { char* MwIconInfo[] = {
/* columns rows colors chars-per-pixel */ /* columns rows colors chars-per-pixel */
"32 32 3 1 ", "32 32 4 1 ",
" c DarkSlateGray", " c None",
". c blue", ". c blue",
"X c None", "X c DarkSlateGray",
/* pixels */ "o c #6632F7",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", /* pixels */
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", " ",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", " ",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", " ",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", " ",
"XXXXXXXXXXXXXXXXX.....XXXXXXXXXX", " ",
"XXXXXXXXXXXXXXXX.......XXXXXXXXX", " ..... ",
"XXXXXXXXXXXXXXXXX..... XXXXXXXX", " ....... ",
"XXXXXXXXXXXXXXXXX XXXXXXXXXX", " .....XX ",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", " XXXXX ",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", " ",
"XXXXXXXXXXXXXX......XXXXXXXXXXXX", " ",
"XXXXXXXXXXXX....... XXXXXXXXXXX", " ...... ",
"XXXXXXXX.......... XXXXXXXXXXXX", " .......XX ",
"XXXXXXXXX ..... XXXXXXXXXXXXX", " ..........XX ",
"XXXXXXXXXXX..... XXXXXXXXXXXXXX", " XXX.....XX ",
"XXXXXXXXXX..... XXXXXXXXXXXXXXX", " .....XX ",
"XXXXXXXXXX..... XXXXXXXXXXXXXXX", " .....XX ",
"XXXXXXXXX..... XXXXXXXXXXXXXXXX", " .....XX ",
"XXXXXXXX..... XXXXXXXXXXXXXXXXX", " .....XX ",
"XXXXXXXX..... XXXXXXXXXXXXXXXXX", " .....XX ",
"XXXXXXXX.... XXXXXXXXXXXXXXXXXX", " .....XX ",
"XXXXXXXX.... XXXXXXXXXXXXXXXXXX", " ....XX ",
"XXXXXXXX.... XXXX.XXXXXXXXXXXXX", " ....XX ",
"XXXXXXXXX.... XX... XXXXXXXXXXX", " ....XX . ",
"XXXXXXXXXX....... XXXXXXXXXXXX", " ....X ...XX ",
"XXXXXXXXXXX XXXXXXXXXXXXXX", " .......XXX ",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", " XXXXXXX ",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", " ",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", " ",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", " ",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" " ",
}; " "};

View File

@@ -2,45 +2,45 @@
#include <Mw/Milsko.h> #include <Mw/Milsko.h>
/* XPM */ /* XPM */
char *MwIconNews[] = { char* MwIconNews[] = {
/* columns rows colors chars-per-pixel */ /* columns rows colors chars-per-pixel */
"32 32 5 1 ", "32 32 6 1 ",
" c black", " c None",
". c SlateGray", ". c black",
"X c gray", "X c white",
"o c white", "o c SlateGray",
"O c None", "O c gray",
/* pixels */ "+ c #6632F7",
"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO", /* pixels */
"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO", " ",
"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO", " ",
"OOOOOOOOOOOO OOOOOOOOOOOOOOOOO", " ",
"OOOOOOOOOOO ooo OOOOOOOOOOOOOOO", " ... ",
"OOOOOOOOOO oo ooo OOOOOOOOOOOOO", " .XXX.. ",
"OOOOOOOOO oo o ooo OOOOOOOOOOO", " .XX.XXX.. ",
"OOOOOOOO oo o oo .oo OOOOOOOOO", " .XX..X.XXX.. ",
"OOOOOOO oo oo oo o. ooo OOOOOOO", " .XX.X..XX.oXX.. ",
"OOOOOO oXooo oo X oo oooo OOOOO", " .XX.XX.XX.Xo.XXX.. ",
"OOOOO oo. .ooo .ooo o.o.ooo OOO", " .XOXXX.XX.O.XX.XXXX.. ",
"OOOO oXooo. XooX o o. o o .oo O", " .XXo.oXXX.oXXX.XoXoXXX.. ",
"OOO oo. .oooX .ooo o o o. ooo ", " .XOXXXo.OXXO.X.Xo.X.X.oXX.. ",
"OO oXooo. Xooo. .ooo ooo oooo X", " .XXo.oXXXO.oXXX...X.X.Xo.XXX.",
"O oo. .oooX .oooXo ooo .o ooo X ", " .XOXXXo.OXXXo.oXXX..XXX.XXXX.O",
" .Xooo. Xooo. .oo o oo. ooo X X", " .XXo.oXXXO.oXXXOX.XXX.oX.XXX.O.",
" o. .oooX .oooXo Xooo oooo X X ", ".oOXXXo.OXXXo.oXX.X..XXo.XXX.O.O",
" ooo. Xooo. .oo XXXXooo oo X X X", ".Xo.oXXXO.oXXXOX.OXXX..XXXX.O.O.",
" X .ooX .oooXo ...XXXX oo X X X ", ".XXXo.OXXXo.oXX.OOOOXXX.XX.O.O.O",
" .XX .oo. .ooo ....X oo X X X O", ".O.oXXO.oXXXOX.oooOOOO.XX.O.O.O.",
"O .XXX.oo.XXooo .. oo X X X OO", ".oOO.oXXo.oXXX..ooooO.XX.O.O.O. ",
"OOO .XX .ooX .ooo oo X X X OOO", " ..oOOOoXXoOOXXX..oo.XX.O.O.O. ",
"OOOOO .XX .oo. .oooo X X X OOOO", " ..oOO.oXXO.oXXX..XX.O.O.O. ",
"OOOOOOO .XoX.oo. oo X X X OOOOO", " ..oOO.oXXo.oXXXX.O.O.O. ",
"OOOOOOOOO .X. .ooo X X X OOOOOO", " ..oOXOoXXo.XX.O.O.O. ",
"OOOOOOOOOOO .XX o X X X OOOOOOO", " ..oOo.oXXX.O.O.O. ",
"OOOOOOOOOOOOO .XX X X OOOOOOOO", " ..oOO.X.O.O.O. ",
"OOOOOOOOOOOOOOO . .XX OOOOOOOOO", " ..oOO.O..O. ",
"OOOOOOOOOOOOOOOOO OOOOOOOOOO", " ..o.oOO. ",
"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO", " ..... ",
"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO", " ",
"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO" " ",
}; " "};

View File

@@ -2,47 +2,47 @@
#include <Mw/Milsko.h> #include <Mw/Milsko.h>
/* XPM */ /* XPM */
char *MwIconNote[] = { char* MwIconNote[] = {
/* columns rows colors chars-per-pixel */ /* columns rows colors chars-per-pixel */
"32 32 7 1 ", "32 32 8 1 ",
" c black", " c None",
". c red", ". c black",
"X c yellow", "X c red",
"o c magenta", "o c magenta",
"O c gray", "O c white",
"+ c white", "+ c yellow",
"@ c None", "@ c gray",
/* pixels */ "# c #6632F7",
"@@@@@@ @@@@@@@@@@@@@@@@@@@@@", /* pixels */
"@@@@@ ..... @@@@@@@@@@@@@@@@@@@@", " ..... ",
"@@@@ ....... @@@@@@@@@@@@@@@@@@@", " .XXXXX. ",
"@@@@ ......o @@@@@@@@@@@@@@@@@@@", " .XXXXXXX. ",
"@@@@ .oo++o. @@@@@ @@@@@@@@@@@@", " .XXXXXXo. ",
"@@@@@ ..++. @@@@ X+ @@@@@@@@@@@", " .XooOOoX. .. ",
"@@@@@@ @@@ +X+X @@@@@@@@@@@", " .XXOOX. ..+O. ",
"@@@@@ ... X+X+X+X @@@@@@@@@@", " ..... ..O+O+. ",
"@@@@ . ..+ . X+X+X+X+ @@@@@@@@@@", " ..XXX....+O+O+O+. ",
"@@@ .. ..o .o X+X+X+X+ @@@@@@@@@", " .X.XXO.X.+O+O+O+O. ",
"@@@ ... ..o +X+X+X+X @@@@@@@@@", " .XX.XXo.Xo.+O+O+O+O. ",
"@@@ .o.....o. X+X+X+X+X @@@@@@@@", " .XXX...XXo.O+O+O+O+. ",
"@@ ..oo++o.. +X+X+X+X+ @@@@@@@@", " .XoXXXXXoX.+O+O+O+O+. ",
" O ....... +X+X+X+X+X+ @@@@@@@", " ..XXooOOoXX.O+O+O+O+O. ",
" OOO +X+X+X+X+X+X @@@@@@@", "..@..XXXXXXX.O+O+O+O+O+O. ",
"@ O O O +X+X+X+X+XOO+X+X @@@@@@", ".@@@........O+O+O+O+O+O+. ",
"@ OO O O X+X+X+X+OOX+X+X+ @@@@@@", " .@.@.@..O+O+O+O+O+@@O+O+. ",
"@@ OO O O+X+XOXOO+X+X+X+X+ @@@@@", " .@@.@.@.+O+O+O+O@@+O+O+O. ",
"@@ OOO O+X+X+OOX+O+X+OOX+X @@@@@", " .@@.@.@O+O+@+@@O+O+O+O+O. ",
"@@@ O+X+X+XOO+X+X+XOO+X+X+X @@@@", " .@@@.@O+O+O@@+O@O+O@@+O+. ",
"@@@ OO+X+OOXOO+X+OOX+O+X+X+X @@@", " .@O+O+O+@@O+O+O+@@O+O+O+. ",
"@@@@ OX+X+X+X+XOO+X+X+X+OOX+X ", " .@@O+O@@+@@O+O@@+O@O+O+O+. ",
"@@@@ OOX+X+XOOOX+X+X+XOO+X+X+X+ ", " .@+O+O+O+O+@@O+O+O+O@@+O+...",
"@@@@@ O+X+OOX+XOXOX+OOX+X+X+X+ @", " .@@+O+O+@@@+O+O+O+@@O+O+O+O.",
"@@@@@ OO+X+X+X+X+XOO+XOX+X+X+ @@", " .@O+O@@+O+@+@+O@@+O+O+O+O. ",
"@@@@@@ OX+X+X+X+OOX+X+X+X+X @@@", " .@@O+O+O+O+O+@@O+@+O+O+O. ",
"@@@@@@ OX+X+X+X+X+X+X+X+ @@@@@", " .@+O+O+O+O@@+O+O+O+O+.. ",
"@@@@@@@ +X+X+X+X+X+X @@@@@@@", " ..@+O+O+O+O+O+O+O+O.. ",
"@@@@@@@@ X+X+X+ @@@@@@@@@", " ....O+O+O+O+O+O+.. ",
"@@@@@@@@@ X++ X+X @@@@@@@@@@@", " .......+O+O+O.. ",
"@@@@@@@@@@ X @@@@@@@@@@@@@", " ..+OO..+O+.. ",
"@@@@@@@@@@@@ @@@@@@@@@@@@@@@" " ...+..... ",
}; " ..... "};

View File

@@ -2,45 +2,45 @@
#include <Mw/Milsko.h> #include <Mw/Milsko.h>
/* XPM */ /* XPM */
char *MwIconQuestion[] = { char* MwIconQuestion[] = {
/* columns rows colors chars-per-pixel */ /* columns rows colors chars-per-pixel */
"32 32 5 1 ", "32 32 6 1 ",
" c firebrick", " c None",
". c red", ". c orange",
"X c orange", "X c red",
"o c SlateGray", "o c firebrick",
"O c None", "O c SlateGray",
/* pixels */ "+ c lavender",
"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO", /* pixels */
"OOOOOOOOOOXXXXXXXXXXXOOOOOOOOOOO", " ",
"OOOOOOOOXX.............OOOOOOOOO", " ........... ",
"OOOOOOOX..... ..oOOOOOOO", " ..XXXXXXXXXXXXX ",
"OOOOOOX.... .oOOOOOO", " .XXXXXoooooooooXXO ",
"OOOOOX.... .... .oOOOOO", " .XXXXoooooooooooooXO ",
"OOOOX.... oooO.. oOOOO", " .XXXXooooXXXXoooooooXO ",
"OOOX.... oooOOO.. ooOOO", " .XXXXooooOOO XXooooooooO ",
"OOOX... ooOOOOX.. ooOOO", " .XXXXooooOOO XXoooooooOO ",
"OOOX... oOOOOX.. ooOOO", " .XXXoooooOO .XXooooooOO ",
"OOOO... ooOOOX.. ooOOO", " .XXXooooooO .XXooooooOO ",
"OOOOO.. ooOOX... ooOOO", " XXXooooooOO .XXooooooOO ",
"OOOOOO.. oooOOX.. oooOOO", " XXooooooOO .XXXooooooOO ",
"OOOOOOO.. oooOOX.. oooOOOO", " XXooooOOO .XXooooooOOO ",
"OOOOOOOOoooooOOX.. ooooOOOO", " XXooOOO .XXooooooOOO ",
"OOOOOOOOOoooOOX.. ooooOOOOO", " OOOOO .XXooooooOOOO ",
"OOOOOOOOOOOOOX.. oooooOOOOOO", " OOO .XXooooooOOOO ",
"OOOOOOOOOOOOX.. ooooOOOOOOOO", " .XXoooooOOOOO ",
"OOOOOOOOOOOX.. ooooOOOOOOOOO", " .XXoooooOOOO ",
"OOOOOOOOOOOX.. ooooOOOOOOOOOO", " .XXoooooOOOO ",
"OOOOOOOOOOOO.. ooooOOOOOOOOOOO", " .XXooooOOOO ",
"OOOOOOOOOOOOO.. ooooOOOOOOOOOOOO", " XXoooOOOO ",
"OOOOOOOOOOOOOOoooooOOOOOOOOOOOOO", " XXoOOOO ",
"OOOOOOOOOOOOX.. oOOOOOOOOOOOOOO", " OOOOO ",
"OOOOOOOOOOOX.X.. OOOOOOOOOOOOOO", " .XXooO ",
"OOOOOOOOOOX.X.X.. OOOOOOOOOOOOO", " .X.XXoo ",
"OOOOOOOOOOX..X... oOOOOOOOOOOOO", " .X.X.XXoo ",
"OOOOOOOOOOO...... ooOOOOOOOOOOO", " .XX.XXXooO ",
"OOOOOOOOOOOO.... oooOOOOOOOOOOO", " XXXXXXooOO ",
"OOOOOOOOOOOOO. ooooOOOOOOOOOOO", " XXXXooOOO ",
"OOOOOOOOOOOOOOooooooOOOOOOOOOOOO", " XoooOOOO ",
"OOOOOOOOOOOOOOOooooOOOOOOOOOOOOO" " OOOOOO ",
}; " OOOO "};

View File

@@ -2,45 +2,45 @@
#include <Mw/Milsko.h> #include <Mw/Milsko.h>
/* XPM */ /* XPM */
char *MwIconWarning[] = { char* MwIconWarning[] = {
/* columns rows colors chars-per-pixel */ /* columns rows colors chars-per-pixel */
"32 32 5 1 ", "32 32 6 1 ",
" c black", " c None",
". c DarkSlateGray", ". c red",
"X c red", "X c yellow",
"o c yellow", "o c DarkSlateGray",
"O c None", "O c black",
/* pixels */ "+ c #6632F7",
"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO", /* pixels */
"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO", " ",
"OOOOOOOOOOOOOOXXXOOOOOOOOOOOOOOO", " ",
"OOOOOOOOOOOOOXXXXXOOOOOOOOOOOOOO", " ... ",
"OOOOOOOOOOOOOXXoXX..OOOOOOOOOOOO", " ..... ",
"OOOOOOOOOOOOXXoooXX..OOOOOOOOOOO", " ..X..oo ",
"OOOOOOOOOOOOXXoooXX..OOOOOOOOOOO", " ..XXX..oo ",
"OOOOOOOOOOOXXoooooXX..OOOOOOOOOO", " ..XXX..oo ",
"OOOOOOOOOOOXXoooooXX..OOOOOOOOOO", " ..XXXXX..oo ",
"OOOOOOOOOOXXoo ooXX..OOOOOOOOO", " ..XXXXX..oo ",
"OOOOOOOOOOXXo oXX..OOOOOOOOO", " ..XXOOOXX..oo ",
"OOOOOOOOOXXoo ooXX..OOOOOOOO", " ..XOOOOOX..oo ",
"OOOOOOOOOXXoo ooXX..OOOOOOOO", " ..XXOOOOOXX..oo ",
"OOOOOOOOXXooo oooXX..OOOOOOO", " ..XXOOOOOXX..oo ",
"OOOOOOOOXXooo oooXX..OOOOOOO", " ..XXXOOOOOXXX..oo ",
"OOOOOOOXXoooo ooooXX..OOOOOO", " ..XXXOOOOOXXX..oo ",
"OOOOOOOXXoooo ooooXX..OOOOOO", " ..XXXXOOOOOXXXX..oo ",
"OOOOOOXXooooo oooooXX..OOOOO", " ..XXXXOOOOOXXXX..oo ",
"OOOOOOXXoooooo ooooooXX..OOOOO", " ..XXXXXOOOOOXXXXX..oo ",
"OOOOOXXooooooo oooooooXX..OOOO", " ..XXXXXXOOOXXXXXX..oo ",
"OOOOOXXooooooo oooooooXX..OOOO", " ..XXXXXXXOOOXXXXXXX..oo ",
"OOOOXXoooooooo ooooooooXX..OOO", " ..XXXXXXXOOOXXXXXXX..oo ",
"OOOOXXoooooooooooooooooooXX..OOO", " ..XXXXXXXXOOOXXXXXXXX..oo ",
"OOOXXooooooooo oooooooooXX..OO", " ..XXXXXXXXXXXXXXXXXXX..oo ",
"OOOXXoooooooo ooooooooXX..OO", " ..XXXXXXXXXOOOXXXXXXXXX..oo ",
"OOXXooooooooo oooooooooXX..O", " ..XXXXXXXXOOOOOXXXXXXXX..oo ",
"OOXXoooooooooo ooooooooooXX..O", " ..XXXXXXXXXOOOOOXXXXXXXXX..oo ",
"OXXoooooooooooooooooooooooooXX..", " ..XXXXXXXXXXOOOXXXXXXXXXX..oo ",
"OXXXXXXXXXXXXXXXXXXXXXXXXXXXXX..", " ..XXXXXXXXXXXXXXXXXXXXXXXXX..oo",
"OOXXXXXXXXXXXXXXXXXXXXXXXXXXX...", " .............................oo",
"OOOO...........................O", " ...........................ooo",
"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO" " ooooooooooooooooooooooooooo ",
}; " "};

View File

@@ -103,6 +103,14 @@ static void frame_draw(MwWidget handle) {
r2.height = MwTextHeight(handle, lb->list[i]); r2.height = MwTextHeight(handle, lb->list[i]);
MwDrawRect(handle, &r2, text); MwDrawRect(handle, &r2, text);
} }
if(lb->pixmap_list[i] != NULL) {
MwRect r2;
r2.x = MwDefaultBorderWidth;
r2.y = p.y + (MwTextHeight(handle, "M") - lb->pixmap_list[i]->height) / 2;
r2.width = lb->pixmap_list[i]->width;
r2.height = lb->pixmap_list[i]->height;
MwLLDrawPixmap(handle->lowlevel, &r2, lb->pixmap_list[i]);
}
p.y += MwTextHeight(handle, lb->list[i]) / 2; p.y += MwTextHeight(handle, lb->list[i]) / 2;
MwDrawText(handle, &p, lb->list[i], 0, MwALIGNMENT_BEGINNING, selected ? base : text); MwDrawText(handle, &p, lb->list[i], 0, MwALIGNMENT_BEGINNING, selected ? base : text);
p.y += MwTextHeight(handle, lb->list[i]) / 2; p.y += MwTextHeight(handle, lb->list[i]) / 2;
@@ -163,9 +171,10 @@ static int create(MwWidget handle) {
MwSetDefault(handle); MwSetDefault(handle);
resize(handle); resize(handle);
lb->list = NULL; lb->list = NULL;
lb->selected = -1; lb->pixmap_list = NULL;
lb->click_time = 0; lb->selected = -1;
lb->click_time = 0;
MwSetInteger(handle, MwNleftPadding, 0); MwSetInteger(handle, MwNleftPadding, 0);
@@ -173,6 +182,9 @@ static int create(MwWidget handle) {
} }
static void destroy(MwWidget handle) { static void destroy(MwWidget handle) {
MwListBox lb = handle->internal;
arrfree(lb->list);
arrfree(lb->pixmap_list);
free(handle->internal); free(handle->internal);
} }
@@ -224,6 +236,7 @@ void MwListBoxInsert(MwWidget handle, int index, const char* text) {
if(index == -1) index = arrlen(lb->list); if(index == -1) index = arrlen(lb->list);
arrins(lb->list, index, str); arrins(lb->list, index, str);
arrins(lb->pixmap_list, index, NULL);
resize(handle); resize(handle);
if(index < (MwGetInteger(lb->vscroll, MwNvalue) + MwGetInteger(lb->vscroll, MwNareaShown))) { if(index < (MwGetInteger(lb->vscroll, MwNvalue) + MwGetInteger(lb->vscroll, MwNareaShown))) {
@@ -243,6 +256,7 @@ void MwListBoxInsertMultiple(MwWidget handle, int index, char** text, int count)
strcpy(str, text[i]); strcpy(str, text[i]);
arrins(lb->list, index, str); arrins(lb->list, index, str);
arrins(lb->pixmap_list, index, NULL);
index++; index++;
} }
@@ -257,6 +271,7 @@ void MwListBoxDelete(MwWidget handle, int index) {
if(index == -1) index = arrlen(lb->list) - 1; if(index == -1) index = arrlen(lb->list) - 1;
arrdel(lb->list, index); arrdel(lb->list, index);
arrdel(lb->pixmap_list, index);
if(lb->selected >= arrlen(lb->list)) { if(lb->selected >= arrlen(lb->list)) {
lb->selected = arrlen(lb->list) - 1; lb->selected = arrlen(lb->list) - 1;