From ff5005f4e7d9e44be529cfe657b0601bc6a9594b Mon Sep 17 00:00:00 2001 From: NishiOwO Date: Thu, 16 Oct 2025 10:33:12 +0000 Subject: [PATCH] icons git-svn-id: http://svn2.nishi.boats/svn/milsko/trunk@359 b9cfdab3-6d41-4d17-bbe4-086880011989 --- GNUmakefile | 2 +- include/Mw/Icon.h | 1 - include/Mw/TypeDefs.h | 3 +- resource/icon/directory.gif | Bin 132 -> 0 bytes resource/icon/directory.png | Bin 302 -> 177 bytes resource/icon/file.gif | Bin 116 -> 0 bytes resource/icon/file.png | Bin 313 -> 149 bytes src/backend/gdi.c | 2 +- src/icon/directory.c | 45 +++--- src/icon/error.c | 89 ++++++----- src/icon/file.c | 296 +++++++++++++++++++++++++++++++++--- src/icon/info.c | 80 +++++----- src/icon/news.c | 84 +++++----- src/icon/note.c | 88 +++++------ src/icon/question.c | 84 +++++----- src/icon/warning.c | 84 +++++----- src/widget/listbox.c | 21 ++- 17 files changed, 578 insertions(+), 301 deletions(-) delete mode 100644 resource/icon/directory.gif delete mode 100644 resource/icon/file.gif diff --git a/GNUmakefile b/GNUmakefile index 9c96ee4..fc60802 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -205,4 +205,4 @@ examples/%.o: examples/%.c $(CC) $(E_CFLAGS) -c -o $@ $< 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) diff --git a/include/Mw/Icon.h b/include/Mw/Icon.h index 4d0ff58..406366a 100644 --- a/include/Mw/Icon.h +++ b/include/Mw/Icon.h @@ -52,7 +52,6 @@ MWDECL char* MwIconQuestion[]; */ MWDECL char* MwIconWarning[]; - #ifdef __cplusplus } #endif diff --git a/include/Mw/TypeDefs.h b/include/Mw/TypeDefs.h index 38696ac..e44934d 100644 --- a/include/Mw/TypeDefs.h +++ b/include/Mw/TypeDefs.h @@ -36,9 +36,7 @@ typedef void (*MwHandler5)(MwWidget handle, void* ptr); typedef void (*MwUserHandler)(MwWidget handle, void* user_data, void* call_data); typedef void (*MwErrorHandler)(int code, const char* message, void* user_data); -#ifdef _MILSKO #include -#endif struct _MwPoint { int x; @@ -125,6 +123,7 @@ struct _MwListBox { MwWidget vscroll; MwWidget frame; char** list; + MwLLPixmap* pixmap_list; int selected; unsigned long click_time; int pressed; diff --git a/resource/icon/directory.gif b/resource/icon/directory.gif deleted file mode 100644 index 7b37b099177d12b3f6ee7056c03d992b09e7fee1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 132 zcmZ?wbhEHb6krfwSoELa|Gl;U@2op;;J}Urwc*~@+N!b)V4(Pug^_`Qi9rX%1F2&GNR2Uen0VOOkQ~&?~ diff --git a/resource/icon/directory.png b/resource/icon/directory.png index 39f0c97abb5adb42e71391115687370f11da7989..3fcb88e1e0a2355820721363d1b0a9183f2961fb 100644 GIT binary patch literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!Xn;?M>;HRe|KC}6;J|?$3u?o? zt+iEUfig;aZYcmM=8_=4;Q#*_uAky{1adt*T^vIyZuOqn&Uk=9;E;pe#{b9o9>he> z<(rve$F#i5MA~2x*F`>oP}h$wll?4S@-o;5yxD)@Yul2SZ6cD#5`=mVeqp-!Zzof_ X57TbWRh4`|GZ{Qx{an^LB{Ts5wa-0N literal 302 zcmeAS@N?(olHy`uVBq!ia0vp^93afX3?$7I7w-U4Ea{HEjtmSN`?>!lvI6-E$sR$z z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBD8V1#6XN>+-db%{*&PdN zfdb*)*4C{dNkA53lDE4HvmlSpCm@Ht#M9T6{Uw(GhnfEA7eNj{AsJ5>#}JO|$q51> zK}iV=lN_23a&*k}xxmS)z{sF{jq&BNZ4YMw)v1=aMwFx^mZVxG7o`Fz1|tI_Q(Z#? zT|=`F0}Crt6DwmwZ36=<1A{+Iw=be-$jwj5OsfQGFxEA&)HOB;F*LI>HU{c}Xt4TF R(+SkT;OXk;vd$@?2>=~VPS^kd diff --git a/resource/icon/file.gif b/resource/icon/file.gif deleted file mode 100644 index f8da6ff92c3103d440aa34c842efce51ddd2d55c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 116 zcmV-)0E_=eNk%w1VGsZi0HXf@|Ns9vIXP=7T|qyB+|*{TEopTA)G|5CGHfx0x? b0XgTe~DWM4fr^hUZ literal 313 zcmeAS@N?(olHy`uVBq!ia0vp^93TuL7#^lP35jgR3=A9lx&I`x0{IHb9znhg z3{`3j3=J&|48MRv4KElNN(~qoUL`OvSj}Ky5HFasE6@fg!Bi6D7tCFdh=l1qTYO#k$YAP1n3v8Rh;2*>r@V+#cjC z+(q-OuQ_Z!u(+VtOJ%aH(nSHz`P&=z**NU|IGOq3e~x!C8<`) zMX5lF!N|bKRM*fz*U&7)z{1MZ#LC1(+rYrez+lP$zxgN{a`RI%(<(t4jCBnxb&U-| d49%>Jje&X~8mvClbOJRnc)I$ztaD0e0s#N$S)c#_ diff --git a/src/backend/gdi.c b/src/backend/gdi.c index 145771a..8faf382 100644 --- a/src/backend/gdi.c +++ b/src/backend/gdi.c @@ -394,7 +394,7 @@ void MwLLDestroyPixmap(MwLLPixmap pixmap) { } void MwLLDrawPixmap(MwLL handle, MwRect* rect, MwLLPixmap pixmap) { - HDC hmdc = CreateCompatibleDC(handle->hDC); + HDC hmdc = CreateCompatibleDC(handle->hDC); POINT p[3]; p[0].x = rect->x; diff --git a/src/icon/directory.c b/src/icon/directory.c index 2ad158b..51d0fe1 100644 --- a/src/icon/directory.c +++ b/src/icon/directory.c @@ -2,21 +2,30 @@ #include /* XPM */ -char *MwIconDirectory[] = { -/* columns rows colors chars-per-pixel */ -"8 8 5 1 ", -" c NavajoWhite", -". c #2B251D", -"X c #B8A07D", -"o c black", -"O c #574B3B", -/* pixels */ -" ..XXXX", -" ..XX", -" oX", -" XoO", -" XoO", -" XoO", -" XoO", -"X XoO" -}; +char* MwIconDirectory[] = { + /* columns rows colors chars-per-pixel */ + "16 16 7 1 ", + " c NavajoWhite", + ". c #FFDCAE", + "X c None", + "o c #B8A07D", + "O c #574B3B", + "+ c #2B251D", + "@ c black", + /* pixels */ + "XX@@XXXXXXXXXXXX", + "@+oo@@XX@@XXXXXX", + "@ ++oo@@o.@@XXXX", + "@ ++oooo.o@XXX", + "@ ++oooo@XXX", + "@ ++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"}; diff --git a/src/icon/error.c b/src/icon/error.c index 0d52f4e..2fc11d9 100644 --- a/src/icon/error.c +++ b/src/icon/error.c @@ -2,48 +2,47 @@ #include /* XPM */ -char *MwIconError[] = { -/* columns rows colors chars-per-pixel */ -"32 32 8 1 ", -" c black", -". c DarkSlateGray", -"X c SlateGray", -"o c gray", -"O c gainsboro", -"+ c lavender", -"@ c white", -"# c None", -/* pixels */ -"## ###################### ##", -"## @o #################### @@ ##", -" @@o #################### @@@ ", -" @@oo #################### @@Oo ", -" @@ooo ### ###### @Oooo ", -"# @oo O+++++++o ### @oo .", -"#### @o XO++@@@@@++Oo # @oo ....", -"##### XOO+@@@@@@+OOOo Xoo ..###", -"###### OOO+@@@@@++OOOo .X ..####", -"##### XOOO+@@@@++OOOooX ..#####", -"##### XOOO+@@+++OOOOooX ..######", -"##### Xooo+++++OOOOoXXX ...#####", -"##### oo@@@@@+OOO++++XX ...#####", -"##### o@@OOOOOOO++OOooX ...#####", -"###### oo OOOOO oo ...#####", -"###### o ooo o ....#####", -"###### @ ooo .Xo ...######", -"##### o@.... @oo .XX.oo ..######", -"##### O@o.. @o o@ ..o@o ...#####", -"##### OO@@@@o o@@@Ooo ...#####", -"###### oOO@o o oOOOo . ..#####", -"####### oOOo o oOOo .XX .#####", -"###### o o@@@@@OOo o XXX #####", -"##### oo o .o@@o o .. Xo@ ##", -"#### @@o @.o .o o ... oo@@@ #", -"# @@o @.@.o.o.@ o ...# o@oo #", -" @@@oo .. @ .@.@. o ....# @oo .", -" @@@o ... @ .o.o. o ...## oo ...", -" ooo ..## @ o ....### ..#", -"## oo .### @@@@ooo ...#####...##", -"## ..#### ooooo ...###########", -"###....##### ..#############" -}; +char* MwIconError[] = { + /* columns rows colors chars-per-pixel */ + "32 32 8 1 ", + " c None", + ". c black", + "X c white", + "o c gray", + "O c gainsboro", + "+ c lavender", + "@ c DarkSlateGray", + "# c SlateGray", + /* pixels */ + " ... ... ", + " .Xo. .XX. ", + "..XXo. .XXX..", + ".XXoo. .XXOo.", + ".XXooo. ......... .XOooo.", + " ...Xoo...O+++++++o.. .Xoo...@", + " .Xo.#O++XXXXX++Oo. .Xoo.@@@@", + " ..#OO+XXXXXX+OOOo.#oo.@@ ", + " .OOO+XXXXX++OOOo.@#.@@ ", + " .#OOO+XXXX++OOOoo#..@@ ", + " .#OOO+XX+++OOOOoo#.@@ ", + " .#ooo+++++OOOOo###.@@@ ", + " .ooXXXXX+OOO++++##.@@@ ", + " .oXXOOOOOOO++OOoo#.@@@ ", + " .oo...OOOOO...oo..@@@ ", + " .o.....ooo.....o.@@@@ ", + " .X.....ooo...@#o.@@@ ", + " .oX@@@@.Xoo.@##@oo.@@ ", + " .OXo@@.Xo.oX.@@oXo.@@@ ", + " .OOXXXXo...oXXXOoo.@@@ ", + " ..oOOXo.o.oOOOo..@.@@ ", + " ..oOOo.o.oOOo..@##.@ ", + " ..o.oXXXXXOOo.o..###. ", + " .oo.o.@oXXo...o.@@.#oX... ", + " .XXo.X@o....@o.o.@@@.ooXXX. ", + " ...XXo..X@X@o@o@X.o.@@@ .oXoo. ", + ".XXXoo.@@.X.@X@X@.o.@@@@ .Xoo..@", + ".XXXo.@@@.X.@o@o@.o.@@@ .oo.@@@", + "..ooo.@@ .X.....o.@@@@ ...@@ ", + " .oo.@ .XXXXooo.@@@ @@@ ", + " ...@@ .ooooo.@@@ ", + " @@@@ .....@@ "}; diff --git a/src/icon/file.c b/src/icon/file.c index 8c5d072..19602bb 100644 --- a/src/icon/file.c +++ b/src/icon/file.c @@ -2,23 +2,279 @@ #include /* XPM */ -char *MwIconFile[] = { -/* columns rows colors chars-per-pixel */ -"8 8 7 1 ", -" c #393939", -". c gray42", -"X c gray55", -"o c #CECECE", -"O c #E7E7E7", -"+ c white", -"@ c None", -/* pixels */ -"+++ooo@X", -"++++ ", -"+++++@@.", -"++++++O.", -"+++++++.", -"+++++++.", -"+++++++.", -"+++++++." -}; +char* MwIconFile[] = { + /* columns rows colors chars-per-pixel */ + "16 16 256 2 ", + " c black", + ". c #010101", + "X c #020202", + "o c gray1", + "O c #040404", + "+ c gray2", + "@ c #060606", + "# c #070707", + "$ c gray3", + "% c #090909", + "& c gray4", + "* 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", + " /* XPM */ -char *MwIconInfo[] = { -/* columns rows colors chars-per-pixel */ -"32 32 3 1 ", -" c DarkSlateGray", -". c blue", -"X c None", -/* pixels */ -"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", -"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", -"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", -"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", -"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", -"XXXXXXXXXXXXXXXXX.....XXXXXXXXXX", -"XXXXXXXXXXXXXXXX.......XXXXXXXXX", -"XXXXXXXXXXXXXXXXX..... XXXXXXXX", -"XXXXXXXXXXXXXXXXX XXXXXXXXXX", -"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", -"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", -"XXXXXXXXXXXXXX......XXXXXXXXXXXX", -"XXXXXXXXXXXX....... XXXXXXXXXXX", -"XXXXXXXX.......... XXXXXXXXXXXX", -"XXXXXXXXX ..... XXXXXXXXXXXXX", -"XXXXXXXXXXX..... XXXXXXXXXXXXXX", -"XXXXXXXXXX..... XXXXXXXXXXXXXXX", -"XXXXXXXXXX..... XXXXXXXXXXXXXXX", -"XXXXXXXXX..... XXXXXXXXXXXXXXXX", -"XXXXXXXX..... XXXXXXXXXXXXXXXXX", -"XXXXXXXX..... XXXXXXXXXXXXXXXXX", -"XXXXXXXX.... XXXXXXXXXXXXXXXXXX", -"XXXXXXXX.... XXXXXXXXXXXXXXXXXX", -"XXXXXXXX.... XXXX.XXXXXXXXXXXXX", -"XXXXXXXXX.... XX... XXXXXXXXXXX", -"XXXXXXXXXX....... XXXXXXXXXXXX", -"XXXXXXXXXXX XXXXXXXXXXXXXX", -"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", -"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", -"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", -"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", -"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" -}; +char* MwIconInfo[] = { + /* columns rows colors chars-per-pixel */ + "32 32 4 1 ", + " c None", + ". c blue", + "X c DarkSlateGray", + "o c #6632F7", + /* pixels */ + " ", + " ", + " ", + " ", + " ", + " ..... ", + " ....... ", + " .....XX ", + " XXXXX ", + " ", + " ", + " ...... ", + " .......XX ", + " ..........XX ", + " XXX.....XX ", + " .....XX ", + " .....XX ", + " .....XX ", + " .....XX ", + " .....XX ", + " .....XX ", + " ....XX ", + " ....XX ", + " ....XX . ", + " ....X ...XX ", + " .......XXX ", + " XXXXXXX ", + " ", + " ", + " ", + " ", + " "}; diff --git a/src/icon/news.c b/src/icon/news.c index d08639e..1b7483e 100644 --- a/src/icon/news.c +++ b/src/icon/news.c @@ -2,45 +2,45 @@ #include /* XPM */ -char *MwIconNews[] = { -/* columns rows colors chars-per-pixel */ -"32 32 5 1 ", -" c black", -". c SlateGray", -"X c gray", -"o c white", -"O c None", -/* pixels */ -"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO", -"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO", -"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO", -"OOOOOOOOOOOO OOOOOOOOOOOOOOOOO", -"OOOOOOOOOOO ooo OOOOOOOOOOOOOOO", -"OOOOOOOOOO oo ooo OOOOOOOOOOOOO", -"OOOOOOOOO oo o ooo OOOOOOOOOOO", -"OOOOOOOO oo o oo .oo OOOOOOOOO", -"OOOOOOO oo oo oo o. ooo OOOOOOO", -"OOOOOO oXooo oo X oo oooo OOOOO", -"OOOOO oo. .ooo .ooo o.o.ooo OOO", -"OOOO oXooo. XooX o o. o o .oo O", -"OOO oo. .oooX .ooo o o o. ooo ", -"OO oXooo. Xooo. .ooo ooo oooo X", -"O oo. .oooX .oooXo ooo .o ooo X ", -" .Xooo. Xooo. .oo o oo. ooo X X", -" o. .oooX .oooXo Xooo oooo X X ", -" ooo. Xooo. .oo XXXXooo oo X X X", -" X .ooX .oooXo ...XXXX oo X X X ", -" .XX .oo. .ooo ....X oo X X X O", -"O .XXX.oo.XXooo .. oo X X X OO", -"OOO .XX .ooX .ooo oo X X X OOO", -"OOOOO .XX .oo. .oooo X X X OOOO", -"OOOOOOO .XoX.oo. oo X X X OOOOO", -"OOOOOOOOO .X. .ooo X X X OOOOOO", -"OOOOOOOOOOO .XX o X X X OOOOOOO", -"OOOOOOOOOOOOO .XX X X OOOOOOOO", -"OOOOOOOOOOOOOOO . .XX OOOOOOOOO", -"OOOOOOOOOOOOOOOOO OOOOOOOOOO", -"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO", -"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO", -"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO" -}; +char* MwIconNews[] = { + /* columns rows colors chars-per-pixel */ + "32 32 6 1 ", + " c None", + ". c black", + "X c white", + "o c SlateGray", + "O c gray", + "+ c #6632F7", + /* pixels */ + " ", + " ", + " ", + " ... ", + " .XXX.. ", + " .XX.XXX.. ", + " .XX..X.XXX.. ", + " .XX.X..XX.oXX.. ", + " .XX.XX.XX.Xo.XXX.. ", + " .XOXXX.XX.O.XX.XXXX.. ", + " .XXo.oXXX.oXXX.XoXoXXX.. ", + " .XOXXXo.OXXO.X.Xo.X.X.oXX.. ", + " .XXo.oXXXO.oXXX...X.X.Xo.XXX.", + " .XOXXXo.OXXXo.oXXX..XXX.XXXX.O", + " .XXo.oXXXO.oXXXOX.XXX.oX.XXX.O.", + ".oOXXXo.OXXXo.oXX.X..XXo.XXX.O.O", + ".Xo.oXXXO.oXXXOX.OXXX..XXXX.O.O.", + ".XXXo.OXXXo.oXX.OOOOXXX.XX.O.O.O", + ".O.oXXO.oXXXOX.oooOOOO.XX.O.O.O.", + ".oOO.oXXo.oXXX..ooooO.XX.O.O.O. ", + " ..oOOOoXXoOOXXX..oo.XX.O.O.O. ", + " ..oOO.oXXO.oXXX..XX.O.O.O. ", + " ..oOO.oXXo.oXXXX.O.O.O. ", + " ..oOXOoXXo.XX.O.O.O. ", + " ..oOo.oXXX.O.O.O. ", + " ..oOO.X.O.O.O. ", + " ..oOO.O..O. ", + " ..o.oOO. ", + " ..... ", + " ", + " ", + " "}; diff --git a/src/icon/note.c b/src/icon/note.c index 05224b7..7735c2d 100644 --- a/src/icon/note.c +++ b/src/icon/note.c @@ -2,47 +2,47 @@ #include /* XPM */ -char *MwIconNote[] = { -/* columns rows colors chars-per-pixel */ -"32 32 7 1 ", -" c black", -". c red", -"X c yellow", -"o c magenta", -"O c gray", -"+ c white", -"@ c None", -/* pixels */ -"@@@@@@ @@@@@@@@@@@@@@@@@@@@@", -"@@@@@ ..... @@@@@@@@@@@@@@@@@@@@", -"@@@@ ....... @@@@@@@@@@@@@@@@@@@", -"@@@@ ......o @@@@@@@@@@@@@@@@@@@", -"@@@@ .oo++o. @@@@@ @@@@@@@@@@@@", -"@@@@@ ..++. @@@@ X+ @@@@@@@@@@@", -"@@@@@@ @@@ +X+X @@@@@@@@@@@", -"@@@@@ ... X+X+X+X @@@@@@@@@@", -"@@@@ . ..+ . X+X+X+X+ @@@@@@@@@@", -"@@@ .. ..o .o X+X+X+X+ @@@@@@@@@", -"@@@ ... ..o +X+X+X+X @@@@@@@@@", -"@@@ .o.....o. X+X+X+X+X @@@@@@@@", -"@@ ..oo++o.. +X+X+X+X+ @@@@@@@@", -" O ....... +X+X+X+X+X+ @@@@@@@", -" OOO +X+X+X+X+X+X @@@@@@@", -"@ O O O +X+X+X+X+XOO+X+X @@@@@@", -"@ OO O O X+X+X+X+OOX+X+X+ @@@@@@", -"@@ OO O O+X+XOXOO+X+X+X+X+ @@@@@", -"@@ OOO O+X+X+OOX+O+X+OOX+X @@@@@", -"@@@ O+X+X+XOO+X+X+XOO+X+X+X @@@@", -"@@@ OO+X+OOXOO+X+OOX+O+X+X+X @@@", -"@@@@ OX+X+X+X+XOO+X+X+X+OOX+X ", -"@@@@ OOX+X+XOOOX+X+X+XOO+X+X+X+ ", -"@@@@@ O+X+OOX+XOXOX+OOX+X+X+X+ @", -"@@@@@ OO+X+X+X+X+XOO+XOX+X+X+ @@", -"@@@@@@ OX+X+X+X+OOX+X+X+X+X @@@", -"@@@@@@ OX+X+X+X+X+X+X+X+ @@@@@", -"@@@@@@@ +X+X+X+X+X+X @@@@@@@", -"@@@@@@@@ X+X+X+ @@@@@@@@@", -"@@@@@@@@@ X++ X+X @@@@@@@@@@@", -"@@@@@@@@@@ X @@@@@@@@@@@@@", -"@@@@@@@@@@@@ @@@@@@@@@@@@@@@" -}; +char* MwIconNote[] = { + /* columns rows colors chars-per-pixel */ + "32 32 8 1 ", + " c None", + ". c black", + "X c red", + "o c magenta", + "O c white", + "+ c yellow", + "@ c gray", + "# c #6632F7", + /* pixels */ + " ..... ", + " .XXXXX. ", + " .XXXXXXX. ", + " .XXXXXXo. ", + " .XooOOoX. .. ", + " .XXOOX. ..+O. ", + " ..... ..O+O+. ", + " ..XXX....+O+O+O+. ", + " .X.XXO.X.+O+O+O+O. ", + " .XX.XXo.Xo.+O+O+O+O. ", + " .XXX...XXo.O+O+O+O+. ", + " .XoXXXXXoX.+O+O+O+O+. ", + " ..XXooOOoXX.O+O+O+O+O. ", + "..@..XXXXXXX.O+O+O+O+O+O. ", + ".@@@........O+O+O+O+O+O+. ", + " .@.@.@..O+O+O+O+O+@@O+O+. ", + " .@@.@.@.+O+O+O+O@@+O+O+O. ", + " .@@.@.@O+O+@+@@O+O+O+O+O. ", + " .@@@.@O+O+O@@+O@O+O@@+O+. ", + " .@O+O+O+@@O+O+O+@@O+O+O+. ", + " .@@O+O@@+@@O+O@@+O@O+O+O+. ", + " .@+O+O+O+O+@@O+O+O+O@@+O+...", + " .@@+O+O+@@@+O+O+O+@@O+O+O+O.", + " .@O+O@@+O+@+@+O@@+O+O+O+O. ", + " .@@O+O+O+O+O+@@O+@+O+O+O. ", + " .@+O+O+O+O@@+O+O+O+O+.. ", + " ..@+O+O+O+O+O+O+O+O.. ", + " ....O+O+O+O+O+O+.. ", + " .......+O+O+O.. ", + " ..+OO..+O+.. ", + " ...+..... ", + " ..... "}; diff --git a/src/icon/question.c b/src/icon/question.c index ceca58a..ec32b1b 100644 --- a/src/icon/question.c +++ b/src/icon/question.c @@ -2,45 +2,45 @@ #include /* XPM */ -char *MwIconQuestion[] = { -/* columns rows colors chars-per-pixel */ -"32 32 5 1 ", -" c firebrick", -". c red", -"X c orange", -"o c SlateGray", -"O c None", -/* pixels */ -"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO", -"OOOOOOOOOOXXXXXXXXXXXOOOOOOOOOOO", -"OOOOOOOOXX.............OOOOOOOOO", -"OOOOOOOX..... ..oOOOOOOO", -"OOOOOOX.... .oOOOOOO", -"OOOOOX.... .... .oOOOOO", -"OOOOX.... oooO.. oOOOO", -"OOOX.... oooOOO.. ooOOO", -"OOOX... ooOOOOX.. ooOOO", -"OOOX... oOOOOX.. ooOOO", -"OOOO... ooOOOX.. ooOOO", -"OOOOO.. ooOOX... ooOOO", -"OOOOOO.. oooOOX.. oooOOO", -"OOOOOOO.. oooOOX.. oooOOOO", -"OOOOOOOOoooooOOX.. ooooOOOO", -"OOOOOOOOOoooOOX.. ooooOOOOO", -"OOOOOOOOOOOOOX.. oooooOOOOOO", -"OOOOOOOOOOOOX.. ooooOOOOOOOO", -"OOOOOOOOOOOX.. ooooOOOOOOOOO", -"OOOOOOOOOOOX.. ooooOOOOOOOOOO", -"OOOOOOOOOOOO.. ooooOOOOOOOOOOO", -"OOOOOOOOOOOOO.. ooooOOOOOOOOOOOO", -"OOOOOOOOOOOOOOoooooOOOOOOOOOOOOO", -"OOOOOOOOOOOOX.. oOOOOOOOOOOOOOO", -"OOOOOOOOOOOX.X.. OOOOOOOOOOOOOO", -"OOOOOOOOOOX.X.X.. OOOOOOOOOOOOO", -"OOOOOOOOOOX..X... oOOOOOOOOOOOO", -"OOOOOOOOOOO...... ooOOOOOOOOOOO", -"OOOOOOOOOOOO.... oooOOOOOOOOOOO", -"OOOOOOOOOOOOO. ooooOOOOOOOOOOO", -"OOOOOOOOOOOOOOooooooOOOOOOOOOOOO", -"OOOOOOOOOOOOOOOooooOOOOOOOOOOOOO" -}; +char* MwIconQuestion[] = { + /* columns rows colors chars-per-pixel */ + "32 32 6 1 ", + " c None", + ". c orange", + "X c red", + "o c firebrick", + "O c SlateGray", + "+ c lavender", + /* pixels */ + " ", + " ........... ", + " ..XXXXXXXXXXXXX ", + " .XXXXXoooooooooXXO ", + " .XXXXoooooooooooooXO ", + " .XXXXooooXXXXoooooooXO ", + " .XXXXooooOOO XXooooooooO ", + " .XXXXooooOOO XXoooooooOO ", + " .XXXoooooOO .XXooooooOO ", + " .XXXooooooO .XXooooooOO ", + " XXXooooooOO .XXooooooOO ", + " XXooooooOO .XXXooooooOO ", + " XXooooOOO .XXooooooOOO ", + " XXooOOO .XXooooooOOO ", + " OOOOO .XXooooooOOOO ", + " OOO .XXooooooOOOO ", + " .XXoooooOOOOO ", + " .XXoooooOOOO ", + " .XXoooooOOOO ", + " .XXooooOOOO ", + " XXoooOOOO ", + " XXoOOOO ", + " OOOOO ", + " .XXooO ", + " .X.XXoo ", + " .X.X.XXoo ", + " .XX.XXXooO ", + " XXXXXXooOO ", + " XXXXooOOO ", + " XoooOOOO ", + " OOOOOO ", + " OOOO "}; diff --git a/src/icon/warning.c b/src/icon/warning.c index cd9f284..e17958b 100644 --- a/src/icon/warning.c +++ b/src/icon/warning.c @@ -2,45 +2,45 @@ #include /* XPM */ -char *MwIconWarning[] = { -/* columns rows colors chars-per-pixel */ -"32 32 5 1 ", -" c black", -". c DarkSlateGray", -"X c red", -"o c yellow", -"O c None", -/* pixels */ -"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO", -"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO", -"OOOOOOOOOOOOOOXXXOOOOOOOOOOOOOOO", -"OOOOOOOOOOOOOXXXXXOOOOOOOOOOOOOO", -"OOOOOOOOOOOOOXXoXX..OOOOOOOOOOOO", -"OOOOOOOOOOOOXXoooXX..OOOOOOOOOOO", -"OOOOOOOOOOOOXXoooXX..OOOOOOOOOOO", -"OOOOOOOOOOOXXoooooXX..OOOOOOOOOO", -"OOOOOOOOOOOXXoooooXX..OOOOOOOOOO", -"OOOOOOOOOOXXoo ooXX..OOOOOOOOO", -"OOOOOOOOOOXXo oXX..OOOOOOOOO", -"OOOOOOOOOXXoo ooXX..OOOOOOOO", -"OOOOOOOOOXXoo ooXX..OOOOOOOO", -"OOOOOOOOXXooo oooXX..OOOOOOO", -"OOOOOOOOXXooo oooXX..OOOOOOO", -"OOOOOOOXXoooo ooooXX..OOOOOO", -"OOOOOOOXXoooo ooooXX..OOOOOO", -"OOOOOOXXooooo oooooXX..OOOOO", -"OOOOOOXXoooooo ooooooXX..OOOOO", -"OOOOOXXooooooo oooooooXX..OOOO", -"OOOOOXXooooooo oooooooXX..OOOO", -"OOOOXXoooooooo ooooooooXX..OOO", -"OOOOXXoooooooooooooooooooXX..OOO", -"OOOXXooooooooo oooooooooXX..OO", -"OOOXXoooooooo ooooooooXX..OO", -"OOXXooooooooo oooooooooXX..O", -"OOXXoooooooooo ooooooooooXX..O", -"OXXoooooooooooooooooooooooooXX..", -"OXXXXXXXXXXXXXXXXXXXXXXXXXXXXX..", -"OOXXXXXXXXXXXXXXXXXXXXXXXXXXX...", -"OOOO...........................O", -"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO" -}; +char* MwIconWarning[] = { + /* columns rows colors chars-per-pixel */ + "32 32 6 1 ", + " c None", + ". c red", + "X c yellow", + "o c DarkSlateGray", + "O c black", + "+ c #6632F7", + /* pixels */ + " ", + " ", + " ... ", + " ..... ", + " ..X..oo ", + " ..XXX..oo ", + " ..XXX..oo ", + " ..XXXXX..oo ", + " ..XXXXX..oo ", + " ..XXOOOXX..oo ", + " ..XOOOOOX..oo ", + " ..XXOOOOOXX..oo ", + " ..XXOOOOOXX..oo ", + " ..XXXOOOOOXXX..oo ", + " ..XXXOOOOOXXX..oo ", + " ..XXXXOOOOOXXXX..oo ", + " ..XXXXOOOOOXXXX..oo ", + " ..XXXXXOOOOOXXXXX..oo ", + " ..XXXXXXOOOXXXXXX..oo ", + " ..XXXXXXXOOOXXXXXXX..oo ", + " ..XXXXXXXOOOXXXXXXX..oo ", + " ..XXXXXXXXOOOXXXXXXXX..oo ", + " ..XXXXXXXXXXXXXXXXXXX..oo ", + " ..XXXXXXXXXOOOXXXXXXXXX..oo ", + " ..XXXXXXXXOOOOOXXXXXXXX..oo ", + " ..XXXXXXXXXOOOOOXXXXXXXXX..oo ", + " ..XXXXXXXXXXOOOXXXXXXXXXX..oo ", + " ..XXXXXXXXXXXXXXXXXXXXXXXXX..oo", + " .............................oo", + " ...........................ooo", + " ooooooooooooooooooooooooooo ", + " "}; diff --git a/src/widget/listbox.c b/src/widget/listbox.c index d29609c..3437178 100644 --- a/src/widget/listbox.c +++ b/src/widget/listbox.c @@ -103,6 +103,14 @@ static void frame_draw(MwWidget handle) { r2.height = MwTextHeight(handle, lb->list[i]); 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; MwDrawText(handle, &p, lb->list[i], 0, MwALIGNMENT_BEGINNING, selected ? base : text); p.y += MwTextHeight(handle, lb->list[i]) / 2; @@ -163,9 +171,10 @@ static int create(MwWidget handle) { MwSetDefault(handle); resize(handle); - lb->list = NULL; - lb->selected = -1; - lb->click_time = 0; + lb->list = NULL; + lb->pixmap_list = NULL; + lb->selected = -1; + lb->click_time = 0; MwSetInteger(handle, MwNleftPadding, 0); @@ -173,6 +182,9 @@ static int create(MwWidget handle) { } static void destroy(MwWidget handle) { + MwListBox lb = handle->internal; + arrfree(lb->list); + arrfree(lb->pixmap_list); free(handle->internal); } @@ -224,6 +236,7 @@ void MwListBoxInsert(MwWidget handle, int index, const char* text) { if(index == -1) index = arrlen(lb->list); arrins(lb->list, index, str); + arrins(lb->pixmap_list, index, NULL); resize(handle); 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]); arrins(lb->list, index, str); + arrins(lb->pixmap_list, index, NULL); index++; } @@ -257,6 +271,7 @@ void MwListBoxDelete(MwWidget handle, int index) { if(index == -1) index = arrlen(lb->list) - 1; arrdel(lb->list, index); + arrdel(lb->pixmap_list, index); if(lb->selected >= arrlen(lb->list)) { lb->selected = arrlen(lb->list) - 1;