From d4bd04535c16f00bd1287ac289d285b4942fb4e9 Mon Sep 17 00:00:00 2001 From: Theodore Turocy Date: Thu, 27 Aug 2026 07:16:34 +0100 Subject: [PATCH 1/5] Modernize toolbar and button icons as scalable SVG Replace 14 fixed-size XPM toolbar/button bitmaps with hand-drawn SVG icons rendered via wxBitmapBundle::FromSVG, giving crisp icons at any DPI instead of a single baked-in 24x24 raster. The new extensive-form icon mirrors the actual Gambit logo (root, information set, terminal nodes) rather than a generic hierarchy glyph. gambit.xpm, gambitbig.xpm, and move.xpm are unaffected. Co-Authored-By: Claude Sonnet 5 --- Makefile.am | 28 ++-- src/gui/bitmaps/calc.h | 17 +++ src/gui/bitmaps/calc.xpm | 169 --------------------- src/gui/bitmaps/newtable.h | 10 ++ src/gui/bitmaps/newtable.xpm | 78 ---------- src/gui/bitmaps/newtree.h | 20 +++ src/gui/bitmaps/newtree.xpm | 121 --------------- src/gui/bitmaps/next.h | 7 + src/gui/bitmaps/next.xpm | 59 -------- src/gui/bitmaps/open.h | 8 + src/gui/bitmaps/open.xpm | 200 ------------------------ src/gui/bitmaps/prev.h | 7 + src/gui/bitmaps/prev.xpm | 61 -------- src/gui/bitmaps/profiles.h | 12 ++ src/gui/bitmaps/profiles.xpm | 48 ------ src/gui/bitmaps/redo.h | 8 + src/gui/bitmaps/redo.xpm | 69 --------- src/gui/bitmaps/save.h | 9 ++ src/gui/bitmaps/save.xpm | 247 ------------------------------ src/gui/bitmaps/stop.h | 8 + src/gui/bitmaps/stop.xpm | 285 ----------------------------------- src/gui/bitmaps/table.h | 8 + src/gui/bitmaps/table.xpm | 53 ------- src/gui/bitmaps/tobegin.h | 8 + src/gui/bitmaps/tobegin.xpm | 78 ---------- src/gui/bitmaps/toend.h | 8 + src/gui/bitmaps/toend.xpm | 70 --------- src/gui/bitmaps/undo.h | 8 + src/gui/bitmaps/undo.xpm | 58 ------- src/gui/dlefglogit.cc | 5 +- src/gui/dlnashmon.cc | 5 +- src/gui/dlnfglogit.cc | 5 +- src/gui/gameframe.cc | 56 ++++--- src/gui/nfgpanel.cc | 20 ++- src/gui/welcome.cc | 12 +- 35 files changed, 213 insertions(+), 1652 deletions(-) create mode 100644 src/gui/bitmaps/calc.h delete mode 100644 src/gui/bitmaps/calc.xpm create mode 100644 src/gui/bitmaps/newtable.h delete mode 100644 src/gui/bitmaps/newtable.xpm create mode 100644 src/gui/bitmaps/newtree.h delete mode 100644 src/gui/bitmaps/newtree.xpm create mode 100644 src/gui/bitmaps/next.h delete mode 100644 src/gui/bitmaps/next.xpm create mode 100644 src/gui/bitmaps/open.h delete mode 100644 src/gui/bitmaps/open.xpm create mode 100644 src/gui/bitmaps/prev.h delete mode 100644 src/gui/bitmaps/prev.xpm create mode 100644 src/gui/bitmaps/profiles.h delete mode 100644 src/gui/bitmaps/profiles.xpm create mode 100644 src/gui/bitmaps/redo.h delete mode 100644 src/gui/bitmaps/redo.xpm create mode 100644 src/gui/bitmaps/save.h delete mode 100644 src/gui/bitmaps/save.xpm create mode 100644 src/gui/bitmaps/stop.h delete mode 100644 src/gui/bitmaps/stop.xpm create mode 100644 src/gui/bitmaps/table.h delete mode 100644 src/gui/bitmaps/table.xpm create mode 100644 src/gui/bitmaps/tobegin.h delete mode 100644 src/gui/bitmaps/tobegin.xpm create mode 100644 src/gui/bitmaps/toend.h delete mode 100644 src/gui/bitmaps/toend.xpm create mode 100644 src/gui/bitmaps/undo.h delete mode 100644 src/gui/bitmaps/undo.xpm diff --git a/Makefile.am b/Makefile.am index bff1ba7cc0..707621a96c 100644 --- a/Makefile.am +++ b/Makefile.am @@ -28,27 +28,27 @@ EXTRA_DIST = \ build_support/msw/gambit.wxs.in \ build_support/osx/Info.plist.in \ build_support/osx/gambit.icns \ - src/gui/bitmaps/calc.xpm \ + src/gui/bitmaps/calc.h \ src/gui/bitmaps/efg.ico \ src/gui/bitmaps/gambitbig.xpm \ src/gui/bitmaps/gambit.bmp \ src/gui/bitmaps/gambit.ico \ src/gui/bitmaps/gambit.xpm \ src/gui/bitmaps/move.xpm \ - src/gui/bitmaps/newtable.xpm \ - src/gui/bitmaps/newtree.xpm \ - src/gui/bitmaps/next.xpm \ + src/gui/bitmaps/newtable.h \ + src/gui/bitmaps/newtree.h \ + src/gui/bitmaps/next.h \ src/gui/bitmaps/nfg.ico \ - src/gui/bitmaps/open.xpm \ - src/gui/bitmaps/prev.xpm \ - src/gui/bitmaps/profiles.xpm \ - src/gui/bitmaps/save.xpm \ - src/gui/bitmaps/stop.xpm \ - src/gui/bitmaps/table.xpm \ - src/gui/bitmaps/tobegin.xpm \ - src/gui/bitmaps/toend.xpm \ - src/gui/bitmaps/undo.xpm \ - src/gui/bitmaps/redo.xpm \ + src/gui/bitmaps/open.h \ + src/gui/bitmaps/prev.h \ + src/gui/bitmaps/profiles.h \ + src/gui/bitmaps/save.h \ + src/gui/bitmaps/stop.h \ + src/gui/bitmaps/table.h \ + src/gui/bitmaps/tobegin.h \ + src/gui/bitmaps/toend.h \ + src/gui/bitmaps/undo.h \ + src/gui/bitmaps/redo.h \ src/gui/bitmaps/gambitrc.rc \ contrib/games/2s2x2x2.efg \ contrib/games/2x2x2.efg \ diff --git a/src/gui/bitmaps/calc.h b/src/gui/bitmaps/calc.h new file mode 100644 index 0000000000..2fac6e0db3 --- /dev/null +++ b/src/gui/bitmaps/calc.h @@ -0,0 +1,17 @@ +/* SVG */ +static const char *const calc_svg = + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + ""; diff --git a/src/gui/bitmaps/calc.xpm b/src/gui/bitmaps/calc.xpm deleted file mode 100644 index 108bc6e185..0000000000 --- a/src/gui/bitmaps/calc.xpm +++ /dev/null @@ -1,169 +0,0 @@ -/* XPM */ -static const char * calc_xpm[] = { -"24 24 142 2", -" c None", -". c #000000", -"+ c #484848", -"@ c #9B9B9B", -"# c #D7D7D7", -"$ c #C0C0C0", -"% c #8A8A8A", -"& c #313434", -"* c #515151", -"= c #4E4E4E", -"- c #303032", -"; c #8C8C84", -"> c #515D51", -", c #424C42", -"' c #495449", -") c #434D43", -"! c #6A7367", -"~ c #2F3031", -"{ c #6B7B6B", -"] c #384038", -"^ c #4D594D", -"/ c #606F60", -"( c #2E2F30", -"_ c #2E2E30", -": c #4C4C48", -"< c #676761", -"[ c #393935", -"} c #2D2D2F", -"| c #6C6C6C", -"1 c #121212", -"2 c #6D6D6D", -"3 c #2D2C2E", -"4 c #8A8D8D", -"5 c #2D2F2F", -"6 c #161617", -"7 c #545356", -"8 c #303031", -"9 c #A5A8A9", -"0 c #636869", -"a c #626667", -"b c #616566", -"c c #606365", -"d c #5F6264", -"e c #5E6162", -"f c #5D5F61", -"g c #5C5E60", -"h c #5B5D5F", -"i c #5A5C5E", -"j c #595A5D", -"k c #58595B", -"l c #57575A", -"m c #565659", -"n c #555457", -"o c #2C2B2D", -"p c #A5A7A8", -"q c #7B7B7B", -"r c #ACACAC", -"s c #2B2A2C", -"t c #A4A6A7", -"u c #565656", -"v c #8E8E8E", -"w c #979797", -"x c #676767", -"y c #B5B5B5", -"z c #A0A0A0", -"A c #2B2A2B", -"B c #A3A6A6", -"C c #4D4F51", -"D c #5D5E60", -"E c #4A4B4D", -"F c #5A5B5C", -"G c #474749", -"H c #575759", -"I c #434345", -"J c #413F42", -"K c #2A292B", -"L c #A3A5A6", -"M c #4C4F50", -"N c #494A4C", -"O c #464748", -"P c #535255", -"Q c #525054", -"R c #514F52", -"S c #504E51", -"T c #2A282A", -"U c #A2A4A5", -"V c #929292", -"W c #818181", -"X c #737373", -"Y c #29282A", -"Z c #3A3A3A", -"` c #808080", -" . c #757575", -".. c #8D8D8D", -"+. c #A2A3A5", -"@. c #858788", -"#. c #848687", -"$. c #6A6B6D", -"%. c #595A5C", -"&. c #828284", -"*. c #818184", -"=. c #565558", -"-. c #555558", -";. c #7F7E81", -">. c #7E7E80", -",. c #525154", -"'. c #BABABA", -"). c #292629", -"!. c #A1A2A3", -"~. c #292628", -"{. c #A4A4A4", -"]. c #727272", -"^. c #282528", -"/. c #48494B", -"(. c #464648", -"_. c #454547", -":. c #434144", -"<. c #434143", -"[. c #403D40", -"}. c #4F4B4F", -"|. c #7B787B", -"1. c #7A7679", -"2. c #797578", -"3. c #232022", -"4. c #2B2E2E", -"5. c #3A3B3C", -"6. c #3A3A3C", -"7. c #39393B", -"8. c #38383A", -"9. c #383739", -"0. c #363637", -"a. c #373538", -"b. c #363537", -"c. c #363437", -"d. c #383638", -"e. c #353235", -"f. c #343134", -"g. c #333133", -"h. c #332F32", -"i. c #322F31", -"j. c #312D31", -"k. c #171818", -" ", -" . . . . . . . . . . . . . . . . . ", -" + @ # $ @ @ @ @ @ @ @ @ @ @ @ @ % & ", -" * = = = = = = = = = = = = = = = = - ", -" * ; ; > > > > > > > , ' ) > ! ; ; ~ ", -" * ; ; { { { { { { { ] > ^ / { ; ; ( ", -" * ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; _ ", -" * : ; ; ; ; ; ; ; ; ; ; ; ; ; < [ } ", -" | 1 . . . . . . . . . . . . . . 2 3 ", -" 4 5 . . . . . . . . . . . . . 6 7 8 ", -" 9 0 a b c d e f g h i j k l m n 7 o ", -" p . q q . . q q . . q q . . r r . s ", -" t . u u . . v w . . x u . . y z . A ", -" B C . . D E . . F G . . H I . . J K ", -" L M . . E N . . G O . . I P Q R S T ", -" U . V u . . W x . . X X . . r r . Y ", -" U . Z Z . . Z | . . ` .. . ..... Y ", -" +.f @.#.$.%.&.*.=.-.;.>.,.. y '.. ). ", -" !.. q q . . q q . . q q . . ..... ~. ", -" !.. u u . . u V . . X {.. . ].].. ^. ", -" h /.. . (._.. . :.<.. . [.}.|.1.2.3. ", -" 4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.i.j.k. ", -" ", -" "}; diff --git a/src/gui/bitmaps/newtable.h b/src/gui/bitmaps/newtable.h new file mode 100644 index 0000000000..a3bfb95ba7 --- /dev/null +++ b/src/gui/bitmaps/newtable.h @@ -0,0 +1,10 @@ +/* SVG */ +static const char *const newtable_svg = + "" + "" + "" + "" + "" + ""; diff --git a/src/gui/bitmaps/newtable.xpm b/src/gui/bitmaps/newtable.xpm deleted file mode 100644 index b8ef665955..0000000000 --- a/src/gui/bitmaps/newtable.xpm +++ /dev/null @@ -1,78 +0,0 @@ -/* XPM */ -static const char * newtable_xpm[] = { -"24 24 51 1", -" c None", -". c #000000", -"+ c #D3D3D3", -"@ c #ABABAB", -"# c #A6A6A6", -"$ c #C8C8C8", -"% c #A2A2A2", -"& c #E5D087", -"* c #E4CF88", -"= c #8F8051", -"- c #DACA9B", -"; c #F2EACC", -"> c #DCCD9A", -", c #CDC399", -"' c #F0E9CE", -") c #FBFAF6", -"! c #EFE7CA", -"~ c #DCC986", -"{ c #ADA782", -"] c #F0E8CD", -"^ c #F0E8CB", -"/ c #D2C084", -"( c #868686", -"_ c #F2F2F2", -": c #C4C4C4", -"< c #EEEDED", -"[ c #928A70", -"} c #F1E4B1", -"| c #F7EFD1", -"1 c #DFD4A9", -"2 c #C9C9C9", -"3 c #E9E9E9", -"4 c #EFE1B0", -"5 c #EADCA4", -"6 c #E4D69E", -"7 c #9C9067", -"8 c #A3A3A3", -"9 c #C7C7C7", -"0 c #A1A1A1", -"a c #F1F1F1", -"b c #C3C3C3", -"c c #C5C5C5", -"d c #ACACAC", -"e c #ADADAD", -"f c #AAAAAA", -"g c #8C8C8C", -"h c #CCCCCC", -"i c #D1D1D1", -"j c #D2D2D2", -"k c #CECECE", -"l c #B4B4B4", -" ", -" ..................... ", -" .++++@++++@++++@+++#. ", -" .+$$$%$$$$%$$$$&*$$#. ", -" .+$$$%$$$$%$$=-;;>$#. ", -" .+$$$%$$$$%$$,'))!~#. ", -" .@%%%%%%%%%%%{]))^/(. ", -" .+$$$%____:_<[}||1_2. ", -" .+$$$%____:__34567_2. ", -" .+$$$%____:________2. ", -" .+$$$%____:________2. ", -" .@%%%%:::::::::::::8. ", -" .+$$$%_________:___2. ", -" .+$$$%_________:___2. ", -" .+$$$%_________:___2. ", -" .+$$$%_________:___2. ", -" .@%%%%:::::::::::::8. ", -" .+9990aaaabaaaabaaa9. ", -" .+9990aaaabaaaabaaa9. ", -" .+9990aaaabaaaabaaa2. ", -" .cdefghijkfhijkfhhhl. ", -" ..................... ", -" ", -" "}; diff --git a/src/gui/bitmaps/newtree.h b/src/gui/bitmaps/newtree.h new file mode 100644 index 0000000000..b748caf603 --- /dev/null +++ b/src/gui/bitmaps/newtree.h @@ -0,0 +1,20 @@ +/* SVG */ +static const char *const newtree_svg = + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + ""; diff --git a/src/gui/bitmaps/newtree.xpm b/src/gui/bitmaps/newtree.xpm deleted file mode 100644 index 94070adfd8..0000000000 --- a/src/gui/bitmaps/newtree.xpm +++ /dev/null @@ -1,121 +0,0 @@ -/* XPM */ -static const char * newtree_xpm[] = { -"24 24 94 2", -" c None", -". c #E5D087", -"+ c #E5CB83", -"@ c #FF0000", -"# c #8E7F4F", -"$ c #DBCB9A", -"% c #F2EACC", -"& c #DCCD9A", -"* c #EA4040", -"= c #CAA0A0", -"- c #CEC394", -"; c #F0E9CE", -"> c #FBFAF6", -", c #EFE7CA", -"' c #DCC986", -") c #C0C0C0", -"! c #00FF00", -"~ c #20BF00", -"{ c #A9926E", -"] c #F0E8CD", -"^ c #F0E8CB", -"/ c #D7C482", -"( c #20F420", -"_ c #80D580", -": c #7E9D5E", -"< c #8B7C61", -"[ c #F1E4B1", -"} c #F7EFD1", -"| c #DCCE9A", -"1 c #A0CAA0", -"2 c #7B4E4E", -"3 c #EEE0AF", -"4 c #EADCA4", -"5 c #E4D69E", -"6 c #9E6C43", -"7 c #800808", -"8 c #D18C8C", -"9 c #80470E", -"0 c #008E1C", -"a c #60E060", -"b c #800000", -"c c #806060", -"d c #F42020", -"e c #F12B2B", -"f c #789595", -"g c #00FFFF", -"h c #15EA15", -"i c #4BE64B", -"j c #4DE6E6", -"k c #699769", -"l c #801A1A", -"m c #806B6B", -"n c #E06060", -"o c #F81515", -"p c #D28B8B", -"q c #808080", -"r c #803131", -"s c #E35555", -"t c #C9A5A5", -"u c #D58080", -"v c #00B871", -"w c #309F00", -"x c #CF0000", -"y c #F61B1B", -"z c #CE9595", -"A c #00D5AA", -"B c #DF0000", -"C c #EF3030", -"D c #D09090", -"E c #7AD77A", -"F c #95CE95", -"G c #9CC095", -"H c #B29595", -"I c #C79595", -"J c #FC0B0B", -"K c #C7ABAB", -"L c #FA1010", -"M c #00F1E3", -"N c #13F913", -"O c #009C39", -"P c #2BF12B", -"Q c #75D875", -"R c #40BFBF", -"S c #4DB34D", -"T c #30EF30", -"U c #90D090", -"V c #DC6B6B", -"W c #6EB5B5", -"X c #6BDC6B", -"Y c #35EE35", -"Z c #40EA40", -"` c #54E354", -" . c #ABC7AB", -".. c #B5C4B5", -" ", -" . + @ @ @ ", -" # $ % % & * * = ", -" - ; > > , ' ) ) ", -" ! ! ! ~ { ] > > ^ / ", -" ! ( _ _ : < [ } } | ", -" ! 1 ) 2 3 4 5 6 @ @ ", -" ! _ ) 7 @ @ @ @ 8 ", -" @ @ 9 0 ! a ) b c ) ) ) ) ", -" @ d e f g h i b c ", -" @ d = ) j g k ! ! l m @ @ @ @ n ", -" o p ) g g q ! r m @ e s s s t ", -" @ u ) v v ! ! ! w b x y z ) ", -"@ @ n ) A A q ! ! ! ~ b B C ) ", -"@ @ D g g q E F G H I J e ", -"K s L g g q @ @ @ @ ", -" @ @ M M q ! ! ! ! N L o o z ", -" @ @ O O ! P P P P Q ) ) ) ) ", -" @ @ R g S ! T ) ) ) ) ) ", -" @ @ q g ! ! U ", -" V W g X Y Z ", -" ! ! ! ! ! ", -" ! ! ! ! ` ", -" . . ... "}; diff --git a/src/gui/bitmaps/next.h b/src/gui/bitmaps/next.h new file mode 100644 index 0000000000..cde1dc2cbe --- /dev/null +++ b/src/gui/bitmaps/next.h @@ -0,0 +1,7 @@ +/* SVG */ +static const char *const next_svg = + "" + "" + ""; diff --git a/src/gui/bitmaps/next.xpm b/src/gui/bitmaps/next.xpm deleted file mode 100644 index 1d98ae3422..0000000000 --- a/src/gui/bitmaps/next.xpm +++ /dev/null @@ -1,59 +0,0 @@ -/* XPM */ -static const char * next_xpm[] = { -"24 24 32 1", -" c None", -". c #000000", -"+ c #6C95BB", -"@ c #A4BDD5", -"# c #5B88B2", -"$ c #A7BFD6", -"% c #9EB8D1", -"& c #5080AD", -"* c #B5C9DC", -"= c #AFC5DA", -"- c #B2C7DB", -"; c #B6CADD", -"> c #A2BBD3", -", c #9CB7D1", -"' c #080D11", -") c #9BB6D0", -"! c #A0BAD3", -"~ c #9AB5CF", -"{ c #97B3CE", -"] c #5F8BB4", -"^ c #91B0CC", -"/ c #98B4CF", -"( c #95B2CE", -"_ c #4C79A3", -": c #507FAB", -"< c #4A77A1", -"[ c #4C7AA5", -"} c #2A435B", -"| c #49749C", -"1 c #3F6588", -"2 c #456F96", -"3 c #375978", -" ", -" ", -" ", -" . ", -" .. ", -" .+. ", -" .@#. ", -" ........$%&. ", -" .*=-;;;;>@,&' ", -" .)!,,,)~,!,{]. ", -" .^%~/~),%,,!(_. ", -" .:<[[[[[[[[[[<}. ", -" .|11111111111}. ", -" .|1111111111}. ", -" .2333333111}. ", -" ........31}. ", -" .3}. ", -" .}. ", -" .. ", -" . ", -" ", -" ", -" ", -" "}; diff --git a/src/gui/bitmaps/open.h b/src/gui/bitmaps/open.h new file mode 100644 index 0000000000..e3ff4b9a2b --- /dev/null +++ b/src/gui/bitmaps/open.h @@ -0,0 +1,8 @@ +/* SVG */ +static const char *const open_svg = + "" + "" + "" + ""; diff --git a/src/gui/bitmaps/open.xpm b/src/gui/bitmaps/open.xpm deleted file mode 100644 index 4c67eaab62..0000000000 --- a/src/gui/bitmaps/open.xpm +++ /dev/null @@ -1,200 +0,0 @@ -/* XPM */ -static const char * open_xpm[] = { -"24 24 173 2", -" c None", -". c #000000", -"+ c #010100", -"@ c #B5B8A5", -"# c #E4E7D2", -"$ c #878A76", -"% c #33342B", -"& c #0B0B0B", -"* c #E2E5CF", -"= c #CFD4AF", -"- c #CED3AE", -"; c #B2B696", -"> c #2D2D25", -", c #23241D", -"' c #9D9F90", -") c #C6CAA6", -"! c #C4C9A5", -"~ c #C6CBA7", -"{ c #C7CCA8", -"] c #C9CEA9", -"^ c #555847", -"/ c #1A1B15", -"( c #20201A", -"_ c #D4D6C2", -": c #BEC2A0", -"< c #B3B896", -"[ c #B0B595", -"} c #B3B797", -"| c #B6BB99", -"1 c #BBC09E", -"2 c #BCC19F", -"3 c #81856C", -"4 c #3E3F32", -"5 c #010101", -"6 c #DADDC8", -"7 c #AFB494", -"8 c #AAAF8F", -"9 c #A3A789", -"0 c #A6AA8B", -"a c #A9AD8E", -"b c #A7AB8D", -"c c #A4A88A", -"d c #A1A588", -"e c #AAAD96", -"f c #B3B5A5", -"g c #B8BBAA", -"h c #BABCAB", -"i c #C1C3B2", -"j c #C7CAB7", -"k c #CACDBB", -"l c #BABDA8", -"m c #0C0C09", -"n c #DDDFCB", -"o c #969B7E", -"p c #9DA286", -"q c #95987C", -"r c #96997E", -"s c #9A9D81", -"t c #999D80", -"u c #9DA184", -"v c #A5AA8B", -"w c #A4A98A", -"x c #A3A889", -"y c #A2A588", -"z c #A2A587", -"A c #9FA386", -"B c #9B9E83", -"C c #898D74", -"D c #D8DBC9", -"E c #84866E", -"F c #7D8169", -"G c #151612", -"H c #D7DAC9", -"I c #797D67", -"J c #3D3F34", -"K c #E0E0D9", -"L c #EBEDDD", -"M c #E8EBD9", -"N c #E7EAD8", -"O c #E3E6D4", -"P c #DEE1D0", -"Q c #DADCCC", -"R c #DADCD1", -"S c #2B2C28", -"T c #D7DAC6", -"U c #6F735E", -"V c #0D0D0D", -"W c #F4F4EC", -"X c #CACFAB", -"Y c #C6CBA8", -"Z c #C2C6A4", -"` c #ABB091", -" . c #23251E", -".. c #494B3D", -"+. c #DCDCD4", -"@. c #EAECDD", -"#. c #CDD2AD", -"$. c #CCD1AC", -"%. c #CACFAA", -"&. c #BABF9D", -"*. c #B5B999", -"=. c #81836C", -"-. c #070806", -";. c #D5D8C4", -">. c #161616", -",. c #F2F2EA", -"'. c #C9CEAA", -"). c #C8CDA9", -"!. c #C4C9A6", -"~. c #C1C5A3", -"{. c #BCC09F", -"]. c #B6BB9A", -"^. c #B0B494", -"/. c #9DA185", -"(. c #535445", -"_. c #B6B8A7", -":. c #747470", -"<. c #ECECE2", -"[. c #C3C8A5", -"}. c #C2C7A4", -"|. c #C0C5A2", -"1. c #BFC4A1", -"2. c #BDC2A0", -"3. c #B9BD9C", -"4. c #B9BE9D", -"5. c #A9AD8F", -"6. c #A3A78A", -"7. c #80836D", -"8. c #020201", -"9. c #A6A998", -"0. c #B8BC9B", -"a. c #AFB394", -"b. c #ACB091", -"c. c #A8AC8E", -"d. c #A6AA8C", -"e. c #9FA286", -"f. c #9B9F83", -"g. c #9A9D82", -"h. c #8A8D75", -"i. c #4F5243", -"j. c #070705", -"k. c #9E9F91", -"l. c #E5E6DA", -"m. c #ADB192", -"n. c #A5A98C", -"o. c #9FA387", -"p. c #999D81", -"q. c #95987E", -"r. c #92957B", -"s. c #8C8F76", -"t. c #8A8D74", -"u. c #71735F", -"v. c #080908", -"w. c #E3E5D9", -"x. c #C0C3AF", -"y. c #94987C", -"z. c #8F9379", -"A. c #8B8F75", -"B. c #8A8E74", -"C. c #888C73", -"D. c #858970", -"E. c #868971", -"F. c #82866E", -"G. c #80836C", -"H. c #7D8069", -"I. c #797C66", -"J. c #727560", -"K. c #717460", -"L. c #71745F", -"M. c #6A6D59", -"N. c #434538", -"O. c #080907", -"P. c #050504", -" ", -" ", -" ", -" . . . . . . . ", -" + @ # # # # # $ % ", -" & * = = = - - ; > ", -", ' * ) ! ~ { ] ] ^ / ", -"( _ : < [ } | 1 2 3 4 5 . . . . . . . ", -", 6 7 8 9 0 8 a b c d e f g h i j k l . ", -"m n o p q r s t r u v w x y 9 z A B C . ", -". D E F G . . . . . . . . . . . . . . . 5 5 ", -". H I J K L M M M M M M M M M M M N O P Q R S ", -". T U V W = = = = = = = = = - - - X Y Z 1 ` . ", -". T ..+.@.#.- - #.- #.#.#.#.#.$.%.Y Z &.*.=.-. ", -". ;.>.,.X %.X %.'.%.'.{ ).).Y !.~.{.].^./.(.m ", -". _.:.<.[.}.}.Z |.Z 1.2.|.2.3.4.} [ 5.6.7.8. ", -". 9.+.0.0.*.} } [ [ a.a.a.b.c.d.e.f.g.h.i.j. ", -". k.l.m.5.d.n.6.6.d o.e.f.p.q.r.s.t.t.u.v. ", -". w.x.y.z.A.B.C.C.D.E.F.G.H.I.J.K.L.M.N.O. ", -" . . . . . . . . . . . . . . . . . . P. ", -" ", -" ", -" ", -" "}; diff --git a/src/gui/bitmaps/prev.h b/src/gui/bitmaps/prev.h new file mode 100644 index 0000000000..cd72d119a2 --- /dev/null +++ b/src/gui/bitmaps/prev.h @@ -0,0 +1,7 @@ +/* SVG */ +static const char *const prev_svg = + "" + "" + ""; diff --git a/src/gui/bitmaps/prev.xpm b/src/gui/bitmaps/prev.xpm deleted file mode 100644 index be36a1cd29..0000000000 --- a/src/gui/bitmaps/prev.xpm +++ /dev/null @@ -1,61 +0,0 @@ -/* XPM */ -static const char * prev_xpm[] = { -"24 24 34 1", -" c None", -". c #000000", -"+ c #AEC4D9", -"@ c #C4D4E3", -"# c #A6BED5", -"$ c #A3BCD4", -"% c #A2BBD3", -"& c #AAC1D7", -"* c #A9C0D6", -"= c #ABC2D8", -"- c #AFC5DA", -"; c #6892B9", -"> c #9CB7D1", -", c #A4BDD5", -"' c #9FB9D2", -") c #9BB6D0", -"! c #9AB5CF", -"~ c #49759E", -"{ c #1C2D3D", -"] c #C5D5E4", -"^ c #A0BAD3", -"/ c #9EB8D1", -"( c #4B78A2", -"_ c #81A4C4", -": c #7198BC", -"< c #739ABE", -"[ c #759BBE", -"} c #7299BD", -"| c #3C6183", -"1 c #2A435B", -"2 c #3F6588", -"3 c #34536F", -"4 c #29425A", -"5 c #2D4760", -" ", -" ", -" ", -" . ", -" .. ", -" .+. ", -" .@#. ", -" .@$%........ ", -" .@#&*=-=++$;. ", -" .@>,$%')))'!~. ", -" {]'^//'>''^''(. ", -" ._:<<<<<<<<<[}|. ", -" .1222222222223. ", -" .122222222223. ", -" .12234444445. ", -" .123........ ", -" .13. ", -" .3. ", -" .. ", -" . ", -" ", -" ", -" ", -" "}; diff --git a/src/gui/bitmaps/profiles.h b/src/gui/bitmaps/profiles.h new file mode 100644 index 0000000000..d8b7a98062 --- /dev/null +++ b/src/gui/bitmaps/profiles.h @@ -0,0 +1,12 @@ +/* SVG */ +static const char *const profiles_svg = + "" + "" + "" + "" + ""; diff --git a/src/gui/bitmaps/profiles.xpm b/src/gui/bitmaps/profiles.xpm deleted file mode 100644 index f723fda964..0000000000 --- a/src/gui/bitmaps/profiles.xpm +++ /dev/null @@ -1,48 +0,0 @@ -/* XPM */ -static const char * profiles_xpm[] = { -"24 24 21 1", -" c None", -". c #889088", -"+ c #BFBFBF", -"@ c #586058", -"# c #505050", -"$ c #707070", -"% c #FFFFFF", -"& c #808080", -"* c #606060", -"= c #EFEFEF", -"- c #CFCFCF", -"; c #9F9F9F", -"> c #000000", -", c #303030", -"' c #101010", -") c #DFDFDF", -"! c #202020", -"~ c #AFAFAF", -"{ c #404040", -"] c #8F8F8F", -"^ c #586858", -" .++++++++++++++++@ ", -" +#$%%%%%%%%%%%%%%& ", -" +#*%%+%%%%%=-%%%%& ", -" +;&%;>*%%%=,'-%%%& ", -" +=%)>>>;%%*>>!%%%& ", -" ~,*){*#~%%&*##%%%& ", -" ;,#%%+=%%%%)-%%%%& ", -" +)=%%+%%%%%=-%%%%& ", -" +%%%;>*%%%=,'-%%%& ", -" +%%)>>>;=%*>>!%%%& ", -" +%%){*#;,*&*##%%%& ", -" +%%%%+={>>&)-%%%%& ", -" +%%%%%%',,#%%%%%%& ", -" +%%=&*&-~-~&*]%%%& ", -" +%%->>>]%%#>>'%%%& ", -" +%%%*>,=%%-'>;%%%& ", -" +%%%%&=%%%%-;%%)=& ", -" +%%%%+=%%%%)-%),#& ", -" +%%){*#~%%&*##=,*& ", -" +%%)>>>;%%*>>!%=%& ", -" +%%%;>*%%%=,'-%*+& ", -" +%%%%+%%%%%=-%%{$& ", -" +%%%%%%%%%%%%%%#$& ", -" .++++++++++++++++^ "}; diff --git a/src/gui/bitmaps/redo.h b/src/gui/bitmaps/redo.h new file mode 100644 index 0000000000..8df52f6819 --- /dev/null +++ b/src/gui/bitmaps/redo.h @@ -0,0 +1,8 @@ +/* SVG */ +static const char *const redo_svg = + "" + "" + "" + ""; diff --git a/src/gui/bitmaps/redo.xpm b/src/gui/bitmaps/redo.xpm deleted file mode 100644 index d8bb42f8b6..0000000000 --- a/src/gui/bitmaps/redo.xpm +++ /dev/null @@ -1,69 +0,0 @@ -/* XPM */ -static const char * redo_xpm[] = { -"24 24 42 1", -" c None", -". c #000000", -"+ c #939A8D", -"@ c #BAD09D", -"# c #92998C", -"$ c #818F71", -"% c #ADBDA0", -"& c #C2D5AA", -"* c #D1DFBE", -"= c #BED2A3", -"- c #99A28F", -"; c #A8BCA6", -"> c #D5E1C6", -", c #CDDCBC", -"' c #D2E0BF", -") c #C5D7AE", -"! c #919889", -"~ c #8C9A7F", -"{ c #D4E0C5", -"] c #D3E0C1", -"^ c #BFD3A6", -"/ c #9BAA87", -"( c #B5C3A9", -"_ c #92AD62", -": c #7C9B40", -"< c #59702D", -"[ c #7F8E6B", -"} c #C8D9B2", -"| c #85A24D", -"1 c #53692A", -"2 c #A4B690", -"3 c #9BB572", -"4 c #6D8839", -"5 c #95A77E", -"6 c #8BA859", -"7 c #657255", -"8 c #98AF74", -"9 c #AFC394", -"0 c #6D7A5B", -"a c #9CAF84", -"b c #748261", -"c c #879772", -" ", -" ", -" ", -" . ", -" .. ", -" .+. ", -" ....@#. ", -" .$%&*=@-. ", -" .;>,')@@@!. ", -" .~{]*^@@@@@/. ", -" .(>_::::::<. ", -" .[}|::::::1. ", -" .23:<...:1. ", -" .@:4. .<. ", -" .@:.. .. ", -" .56. . ", -" .78. ", -" .9. ", -" .0a. ", -" .bc. ", -" ... ", -" ", -" ", -" "}; diff --git a/src/gui/bitmaps/save.h b/src/gui/bitmaps/save.h new file mode 100644 index 0000000000..813924c32c --- /dev/null +++ b/src/gui/bitmaps/save.h @@ -0,0 +1,9 @@ +/* SVG */ +static const char *const save_svg = + "" + "" + "" + "" + ""; diff --git a/src/gui/bitmaps/save.xpm b/src/gui/bitmaps/save.xpm deleted file mode 100644 index a8eecd7cf9..0000000000 --- a/src/gui/bitmaps/save.xpm +++ /dev/null @@ -1,247 +0,0 @@ -/* XPM */ -static const char * save_xpm[] = { -"24 24 220 2", -" c None", -". c #000000", -"+ c #C3D7F4", -"@ c #A9CDE5", -"# c #75757A", -"$ c #EFC5BB", -"% c #F1C8BE", -"& c #F0C6BC", -"* c #EEBCB2", -"= c #EEBEB5", -"- c #EEC1B8", -"; c #EDBFB6", -"> c #E9B7AD", -", c #E9B8AF", -"' c #E9B9B1", -") c #E5BFBA", -"! c #737277", -"~ c #B3CDE3", -"{ c #A1BED6", -"] c #BBD6E8", -"^ c #8AAAC5", -"/ c #605F68", -"( c #E08D7E", -"_ c #E0826E", -": c #E0806E", -"< c #DC7A68", -"[ c #DC8171", -"} c #DA7868", -"| c #D48173", -"1 c #D47D6E", -"2 c #CE7265", -"3 c #CF7264", -"4 c #CE7567", -"5 c #C4675B", -"6 c #C36558", -"7 c #626169", -"8 c #87A3B7", -"9 c #567187", -"0 c #BAD5E9", -"a c #88A7C3", -"b c #686670", -"c c #C8817B", -"d c #CB7C74", -"e c #CB7A73", -"f c #CB7B73", -"g c #CC7C72", -"h c #CB7D73", -"i c #BF6B64", -"j c #CC7A70", -"k c #C16A62", -"l c #CC7C73", -"m c #C2655B", -"n c #C36459", -"o c #BA6C6A", -"p c #819EB6", -"q c #547086", -"r c #B6D3E7", -"s c #87ABC1", -"t c #737373", -"u c #FFFFFF", -"v c #83A0B8", -"w c #526C80", -"x c #B9D3E7", -"y c #85A4BF", -"z c #4F697C", -"A c #B9D3E6", -"B c #84A3BF", -"C c #CECECE", -"D c #CDCDCD", -"E c #BFBFBF", -"F c #88A4BB", -"G c #486276", -"H c #B7D2E7", -"I c #82A0BB", -"J c #636363", -"K c #465E70", -"L c #B5CAE5", -"M c #7FA2B9", -"N c #87A3BA", -"O c #455C6D", -"P c #AECCE5", -"Q c #7DA0B6", -"R c #C5C5C5", -"S c #546069", -"T c #B0D1E4", -"U c #83A1B6", -"V c #735B5B", -"W c #515C64", -"X c #AACEE3", -"Y c #7B9BB2", -"Z c #7A8E9A", -"` c #7A7A7A", -" . c #6B6F72", -".. c #6F6F6F", -"+. c #696969", -"@. c #6F777E", -"#. c #86A2B9", -"$. c #3A515D", -"%. c #A9C9E2", -"&. c #7494AF", -"*. c #829FB7", -"=. c #7F9DB6", -"-. c #7E9CB5", -";. c #7998B2", -">. c #85A1B8", -",. c #8CA7BD", -"'. c #8AA5BB", -"). c #364A59", -"!. c #ABC4E2", -"~. c #7294AD", -"{. c #6F90AC", -"]. c #7192AE", -"^. c #414A4E", -"/. c #424A51", -"(. c #525B63", -"_. c #626F79", -":. c #5F6C76", -"<. c #5C6971", -"[. c #5A666F", -"}. c #58636B", -"|. c #57636A", -"1. c #3B5360", -"2. c #39424B", -"3. c #7897B3", -"4. c #A4B9CB", -"5. c #364853", -"6. c #AAC9E2", -"7. c #7091AA", -"8. c #6F8FA7", -"9. c #4A5359", -"0. c #97938C", -"a. c #DFDDDA", -"b. c #E3E1DE", -"c. c #EBEAE8", -"d. c #EAE9E7", -"e. c #CFCEC9", -"f. c #C9C6C0", -"g. c #9B968E", -"h. c #566168", -"i. c #4B657A", -"j. c #54738C", -"k. c #AAC6DD", -"l. c #34464E", -"m. c #AAC9E1", -"n. c #6C8EA6", -"o. c #6C8CA4", -"p. c #40474D", -"q. c #DAD8D3", -"r. c #E7E6E2", -"s. c #67655E", -"t. c #524F47", -"u. c #D9D7D4", -"v. c #C7C5BF", -"w. c #C0BCB5", -"x. c #B8B3AB", -"y. c #434C54", -"z. c #4D697F", -"A. c #4F6F84", -"B. c #B3CADC", -"C. c #313E49", -"D. c #A8C8E1", -"E. c #6B8DA6", -"F. c #728FA4", -"G. c #E2E1DD", -"H. c #F0EFEC", -"I. c #CDCAC6", -"J. c #C2BFB9", -"K. c #CAC6C0", -"L. c #DCDAD7", -"M. c #4B555D", -"N. c #4E697F", -"O. c #BACCDC", -"P. c #A4C4DE", -"Q. c #698BA3", -"R. c #708AA1", -"S. c #383E43", -"T. c #E0DEDA", -"U. c #514E46", -"V. c #4F4C44", -"W. c #C7C4BE", -"X. c #CBC8C2", -"Y. c #E1E0DC", -"Z. c #E9E8E6", -"`. c #475158", -" + c #4E6879", -".+ c #4D6C80", -"++ c #A3C3DB", -"@+ c #383F43", -"#+ c #778999", -"$+ c #6E899E", -"%+ c #65859C", -"&+ c #33383C", -"*+ c #D7D4D0", -"=+ c #D6D4D0", -"-+ c #4E4A43", -";+ c #4D4942", -">+ c #D1CEC9", -",+ c #E6E5E2", -"'+ c #EDECEA", -")+ c #454F55", -"!+ c #486173", -"~+ c #4D6678", -"{+ c #A1C1DA", -"]+ c #373C40", -"^+ c #0C0D0F", -"/+ c #4E5E6A", -"(+ c #5B6E7C", -"_+ c #4F5B62", -":+ c #A4A099", -"<+ c #CCC9C3", -"[+ c #D7D5D1", -"}+ c #E4E2E0", -"|+ c #DDDBD7", -"1+ c #B8B5B0", -"2+ c #3E474D", -"3+ c #4A6176", -"4+ c #4A6070", -"5+ c #9BC3D8", -"6+ c #363C41", -"7+ c #28323E", -" ", -" . . . . . . . . . . . . . . . . . . . ", -" . + @ # $ % & * = - ; > , > , ' ) ! ~ { . ", -" . ] ^ / ( _ : < [ } | 1 2 3 4 5 6 7 8 9 . ", -" . 0 a b c d e f g h i j k l m n o b p q . ", -" . r s t u u u u u u u u u u u u u t v w . ", -" . x y t u u u u u u u u u u u u u t v z . ", -" . A B t C D D D D D D D D D D D E t F G . ", -" . H I J u u u u u u u u u u u u u t F K . ", -" . L M t u u u u u u u u u u u u u t N O . ", -" . P Q t C D D D D D D D D D D D R t N S . ", -" . T U V u u u u u u u u u u u u u t v W . ", -" . X Y Z ` t t t t t ...t t t t +.@.#.$.. ", -" . %.&.p v #.*.=.-.*.;.#.>.>.N *.,.v '.).. ", -" . !.~.{.].^./.(._.:.<.[.}.|.(.1.2.3.4.5.. ", -" . 6.7.8.9.0.a.b.c.c.d.a.e.f.g.h.i.j.k.l.. ", -" . m.n.o.p.q.r.s.t.t.u.v.w.x.e.y.z.A.B.C.. ", -" . D.E.F.p.G.H.s.t.t.I.J.w.K.L.M.N.A.O.C.. ", -" . P.Q.R.S.T.c.U.V.V.W.w.X.Y.Z.`. +.+++@+. ", -" . #+$+%+&+*+=+-+;+;+w.>+,+'+,+)+!+~+{+]+. ", -" ^+/+(+_+:+w.x.<+<+[+}+d.|+1+2+3+4+5+6+. ", -" . . . . . . . . . . . . . . . . 7+. ", -" ", -" "}; diff --git a/src/gui/bitmaps/stop.h b/src/gui/bitmaps/stop.h new file mode 100644 index 0000000000..8a11255b3b --- /dev/null +++ b/src/gui/bitmaps/stop.h @@ -0,0 +1,8 @@ +/* SVG */ +static const char *const stop_svg = + "" + "" + ""; diff --git a/src/gui/bitmaps/stop.xpm b/src/gui/bitmaps/stop.xpm deleted file mode 100644 index 53c299233f..0000000000 --- a/src/gui/bitmaps/stop.xpm +++ /dev/null @@ -1,285 +0,0 @@ -/* XPM */ -static const char * stop_xpm[] = { -"24 24 258 2", -" c None", -". c #010000", -"+ c #180801", -"@ c #2D1103", -"# c #2C1003", -"$ c #280F02", -"% c #84320B", -"& c #C75621", -"* c #DC794A", -"= c #DA7546", -"- c #D77445", -"; c #D37245", -"> c #B74918", -", c #772B09", -"' c #250D02", -") c #0B0400", -"! c #88360E", -"~ c #DF723D", -"{ c #E47F4E", -"] c #E1733D", -"^ c #DA5A1C", -"/ c #D65112", -"( c #D14E11", -"_ c #CC4C0F", -": c #C7490F", -"< c #C2460F", -"[ c #BB430F", -"} c #742909", -"| c #0A0300", -"1 c #150701", -"2 c #B5450F", -"3 c #E47B46", -"4 c #E5733A", -"5 c #E25813", -"6 c #DF5613", -"7 c #DB5412", -"8 c #D04E10", -"9 c #CA4B0F", -"0 c #C5480F", -"a c #BF450F", -"b c #B9420E", -"c c #97350B", -"d c #130600", -"e c #B3440F", -"f c #E57944", -"g c #E67034", -"h c #E75A13", -"i c #E95B13", -"j c #E85B13", -"k c #E45913", -"l c #E05713", -"m c #DA5312", -"n c #D44F12", -"o c #CD4D0F", -"p c #C1460F", -"q c #BB430E", -"r c #B53F0D", -"s c #93330B", -"t c #090300", -"u c #82340F", -"v c #E17641", -"w c #E46C2F", -"x c #ED5D13", -"y c #C94F10", -"z c #C14B0F", -"A c #E35813", -"B c #DC5512", -"C c #C6490F", -"D c #AC3F0C", -"E c #C3460F", -"F c #BC430F", -"G c #B6400E", -"H c #B03D0D", -"I c #6A2408", -"J c #230C02", -"K c #D7632C", -"L c #E37A47", -"M c #E95C13", -"N c #A24919", -"O c #9C7663", -"P c #8C634D", -"Q c #AA4410", -"R c #DA5512", -"S c #DE5612", -"T c #C14B12", -"U c #A0735D", -"V c #B38C7A", -"W c #A64F27", -"X c #BC440F", -"Y c #A93A0D", -"Z c #1F0A01", -"` c #7F3715", -" . c #DE7A4A", -".. c #AB8069", -"+. c #FFFFFF", -"@. c #DEB39D", -"#. c #B14712", -"$. c #C34D13", -"%. c #A38272", -"&. c #DBDBDB", -"*. c #E6B49E", -"=. c #C66035", -"-. c #AA3A0D", -";. c #642107", -">. c #000000", -",. c #C3683D", -"'. c #D7602A", -"). c #D95312", -"!. c #DF5713", -"~. c #E55913", -"{. c #AB7255", -"]. c #D8AF9B", -"^. c #AC8978", -"/. c #DADADA", -"(. c #DC997B", -"_. c #CA6D44", -":. c #B5400E", -"<. c #AF3D0D", -"[. c #7F2B09", -"}. c #100500", -"|. c #D57548", -"1. c #BC4A11", -"2. c #B18771", -"3. c #E7B39C", -"4. c #CE724A", -"5. c #C7663C", -"6. c #B43F0D", -"7. c #AE3C0D", -"8. c #A8390C", -"9. c #8E2F0A", -"0. c #220C03", -"a. c #D24E11", -"b. c #D75112", -"c. c #DD5512", -"d. c #DE5714", -"e. c #AF8673", -"f. c #E8B49D", -"g. c #D3774E", -"h. c #C3592A", -"i. c #B7410E", -"j. c #B23E0D", -"k. c #AC3B0D", -"l. c #A6380C", -"m. c #852C08", -"n. c #1F0A02", -"o. c #210C03", -"p. c #D17045", -"q. c #C8490F", -"r. c #D45012", -"s. c #D85415", -"t. c #B28F7D", -"u. c #EBC1AF", -"v. c #C55625", -"w. c #BA420E", -"x. c #A4370C", -"y. c #742606", -"z. c #1A0801", -"A. c #0D0400", -"B. c #CC6E45", -"C. c #C4470F", -"D. c #CB4B0F", -"E. c #CE4D0F", -"F. c #A8410E", -"G. c #B18D7D", -"H. c #ECECEC", -"I. c #EBC8B9", -"J. c #BD5123", -"K. c #AD3B0D", -"L. c #A7380C", -"M. c #A2360B", -"N. c #672005", -"O. c #0E0400", -"P. c #AD5129", -"Q. c #BE450F", -"R. c #AA3E0C", -"S. c #A7745D", -"T. c #E6B39C", -"U. c #DCA892", -"V. c #B64F25", -"W. c #8E2F09", -"X. c #5F1E05", -"Y. c #804A32", -"Z. c #BD440F", -"`. c #97360B", -" + c #A87D6B", -".+ c #E5B29C", -"++ c #C96335", -"@+ c #C45729", -"#+ c #E2B19B", -"$+ c #DBA995", -"%+ c #B4512A", -"&+ c #9A330A", -"*+ c #7C2807", -"=+ c #441504", -"-+ c #190801", -";+ c #BC5B32", -">+ c #9A3E17", -",+ c #C08E78", -"'+ c #D89375", -")+ c #C66034", -"!+ c #BF5426", -"~+ c #BC5427", -"{+ c #D28E72", -"]+ c #D9A38D", -"^+ c #B4542D", -"/+ c #AF4C24", -"(+ c #872C08", -"_+ c #712506", -":+ c #160600", -"<+ c #672B11", -"[+ c #BB582E", -"}+ c #B64717", -"|+ c #C05A2F", -"1+ c #B85025", -"2+ c #B8552E", -"3+ c #B3512A", -"4+ c #B05029", -"5+ c #973109", -"6+ c #6F2307", -"7+ c #471604", -"8+ c #050100", -"9+ c #872E0A", -"0+ c #B7532A", -"a+ c #B44B1F", -"b+ c #A1360B", -"c+ c #963109", -"d+ c #6C2106", -"e+ c #5D1D05", -"f+ c #0C0300", -"g+ c #832C0A", -"h+ c #B4552E", -"i+ c #B0481F", -"j+ c #A5370C", -"k+ c #A2360C", -"l+ c #9F350B", -"m+ c #7B2707", -"n+ c #641F06", -"o+ c #652006", -"p+ c #0B0300", -"q+ c #040100", -"r+ c #5A1E06", -"s+ c #A1360C", -"t+ c #A2370C", -"u+ c #822A08", -"v+ c #661F05", -"w+ c #702406", -"x+ c #511905", -"y+ c #140600", -"z+ c #561D06", -"A+ c #752707", -"B+ c #892C08", -"C+ c #7F2907", -"D+ c #642005", -"E+ c #5E1D05", -"F+ c #4D1804", -"G+ c #150600", -"H+ c #080200", -"I+ c #160701", -" ", -" . + @ # + . ", -" $ % & * = - ; > , ' ", -" ) ! ~ { ] ^ / ( _ : < [ } | ", -" 1 2 3 4 5 5 6 7 / 8 9 0 a b c d ", -" | e f g h i j k l m n o : p q r s t ", -" u v w h x y z i A B / C D E F G H I ", -" J K L A M N O P Q R S T U V W X G H Y Z ", -" ` .7 5 j ..+.+.@.#.$.%.&.+.*.=.G H -.;. ", -" >.,.'.).!.~.{.+.+.+.].^./.+.+.(._.:.<.Y [.>. ", -" }.|.8 / 7 l 1.2.+.+.+.+.+.+.3.4.5.6.7.8.9.}. ", -" 0.; _ a.b.m c.d.e.+.+.+.+.f.g.h.i.j.k.l.m.n. ", -" o.p.q._ ( r.b.s.t.+.+.+.+.u.v.w.r H -.x.y.z. ", -" A.B.C.: D.E.F.G.H.+.+.+.+.+.I.J.j.K.L.M.N.O. ", -" >.P.Q.< 0 R.S.+.+.+.3.T.+.+.+.U.V.Y x.W.X.>. ", -" Y.b Z.a `. ++.+..+++@+#++.+.$+%+l.&+*+=+ ", -" -+;+i.b q >+,+'+)+w.!+~+{+]+^+/+M.(+_+:+ ", -" <+[+}+:.G |+|+:.6.j.1+2+3+4+M.5+6+7+ ", -" 8+9+0+a+H H H H 7.k.-.L.x.b+c+d+e+8+ ", -" f+g+h+i+-.-.Y 8.l.j+k+l+m+n+o+p+ ", -" q+r+s+x.x.x.t+b+l+u+v+w+x+8+ ", -" y+z+A+B+C+D+o+E+F+G+ ", -" >.H+I+I+H+>. ", -" "}; diff --git a/src/gui/bitmaps/table.h b/src/gui/bitmaps/table.h new file mode 100644 index 0000000000..26b16bd94c --- /dev/null +++ b/src/gui/bitmaps/table.h @@ -0,0 +1,8 @@ +/* SVG */ +static const char *const table_svg = + "" + "" + "" + ""; diff --git a/src/gui/bitmaps/table.xpm b/src/gui/bitmaps/table.xpm deleted file mode 100644 index 8a7700542e..0000000000 --- a/src/gui/bitmaps/table.xpm +++ /dev/null @@ -1,53 +0,0 @@ -/* XPM */ -static const char * table_xpm[] = { -"24 24 26 1", -" c None", -". c #000000", -"+ c #D3D3D3", -"@ c #ABABAB", -"# c #A6A6A6", -"$ c #C8C8C8", -"% c #A2A2A2", -"& c #868686", -"* c #F2F2F2", -"= c #C4C4C4", -"- c #C9C9C9", -"; c #A3A3A3", -"> c #C7C7C7", -", c #A1A1A1", -"' c #F1F1F1", -") c #C3C3C3", -"! c #C5C5C5", -"~ c #ACACAC", -"{ c #ADADAD", -"] c #AAAAAA", -"^ c #8C8C8C", -"/ c #CCCCCC", -"( c #D1D1D1", -"_ c #D2D2D2", -": c #CECECE", -"< c #B4B4B4", -" ", -" ..................... ", -" .++++@++++@++++@+++#. ", -" .+$$$%$$$$%$$$$%$$$#. ", -" .+$$$%$$$$%$$$$%$$$#. ", -" .+$$$%$$$$%$$$$%$$$#. ", -" .@%%%%%%%%%%%%%%%%%&. ", -" .+$$$%****=********-. ", -" .+$$$%****=********-. ", -" .+$$$%****=********-. ", -" .+$$$%****=********-. ", -" .@%%%%=============;. ", -" .+$$$%*********=***-. ", -" .+$$$%*********=***-. ", -" .+$$$%*********=***-. ", -" .+$$$%*********=***-. ", -" .@%%%%=============;. ", -" .+>>>,'''')'''')'''>. ", -" .+>>>,'''')'''')'''>. ", -" .+>>>,'''')'''')'''-. ", -" .!~{]^/(_:]/(_:]///<. ", -" ..................... ", -" ", -" "}; diff --git a/src/gui/bitmaps/tobegin.h b/src/gui/bitmaps/tobegin.h new file mode 100644 index 0000000000..50c601e497 --- /dev/null +++ b/src/gui/bitmaps/tobegin.h @@ -0,0 +1,8 @@ +/* SVG */ +static const char *const tobegin_svg = + "" + "" + "" + ""; diff --git a/src/gui/bitmaps/tobegin.xpm b/src/gui/bitmaps/tobegin.xpm deleted file mode 100644 index 368b3ef4a0..0000000000 --- a/src/gui/bitmaps/tobegin.xpm +++ /dev/null @@ -1,78 +0,0 @@ -/* XPM */ -static const char * tobegin_xpm[] = { -"24 24 51 1", -" c None", -". c #000000", -"+ c #F4F7F9", -"@ c #BED0E1", -"# c #E3EBF2", -"$ c #9EB8D1", -"% c #C1D2E2", -"& c #E0E9F1", -"* c #B1C6DA", -"= c #E2EAF1", -"- c #AEC4D9", -"; c #A2BBD3", -"> c #ABC2D8", -", c #AAC1D7", -"' c #A9C0D6", -") c #B5C9DC", -"! c #BCCEDF", -"~ c #D4E0EB", -"{ c #D3DFEA", -"] c #C0D1E1", -"^ c #6892B9", -"/ c #AFC5DA", -"( c #A4BDD5", -"_ c #A3BCD4", -": c #9FB9D2", -"< c #9BB6D0", -"[ c #9AB5CF", -"} c #49759E", -"| c #DEE7EF", -"1 c #1C2D3D", -"2 c #DAE4ED", -"3 c #A6BED5", -"4 c #A0BAD3", -"5 c #9CB7D1", -"6 c #4B78A2", -"7 c #89AAC8", -"8 c #4C7AA5", -"9 c #B2C7DB", -"0 c #7BA0C2", -"a c #739ABE", -"b c #759BBE", -"c c #7299BD", -"d c #3C6183", -"e c #769CBF", -"f c #3F6588", -"g c #2A435B", -"h c #34536F", -"i c #29425A", -"j c #2D4760", -"k c #648FB7", -"l c #314F6A", -" ", -" ", -" ", -" .... . ", -" .+@. .. ", -" .#$. .%. ", -" .#$. .&*. ", -" .#$. .=-;........ ", -" .#$. .=>,'>)!~{]^. ", -" .#$. .=/(_;:<<<:[}. ", -" .|$. 1234$$:5::4::6. ", -" .78..90aaaaaaaaabcd. ", -" .ef. .gfffffffffffh. ", -" .ef. .gffffffffffh. ", -" .ef. .gffhiiiiiij. ", -" .ef. .gfh........ ", -" .ef. .gh. ", -" .ef. .h. ", -" .kl. .. ", -" .... . ", -" ", -" ", -" ", -" "}; diff --git a/src/gui/bitmaps/toend.h b/src/gui/bitmaps/toend.h new file mode 100644 index 0000000000..6300413f79 --- /dev/null +++ b/src/gui/bitmaps/toend.h @@ -0,0 +1,8 @@ +/* SVG */ +static const char *const toend_svg = + "" + "" + "" + ""; diff --git a/src/gui/bitmaps/toend.xpm b/src/gui/bitmaps/toend.xpm deleted file mode 100644 index d2684afc59..0000000000 --- a/src/gui/bitmaps/toend.xpm +++ /dev/null @@ -1,70 +0,0 @@ -/* XPM */ -static const char * toend_xpm[] = { -"24 24 43 1", -" c None", -". c #000000", -"+ c #F4F7F9", -"@ c #BED0E1", -"# c #AEC4D9", -"$ c #E3EBF2", -"% c #9EB8D1", -"& c #E7EEF4", -"* c #5B88B2", -"= c #DCE6EF", -"- c #5080AD", -"; c #EDF2F6", -"> c #DFE8F0", -", c #DBE5EE", -"' c #D1DEEA", -") c #BACDDF", -"! c #A4BDD5", -"~ c #9CB7D1", -"{ c #080D11", -"] c #D4E0EB", -"^ c #A0BAD3", -"/ c #9BB6D0", -"( c #9AB5CF", -"_ c #97B3CE", -": c #5F8BB4", -"< c #CCDAE7", -"[ c #98B4CF", -"} c #95B2CE", -"| c #4C79A3", -"1 c #DEE7EF", -"2 c #8DADCA", -"3 c #4A77A1", -"4 c #4C7AA5", -"5 c #2A435B", -"6 c #89AAC8", -"7 c #84A6C5", -"8 c #3F6588", -"9 c #769CBF", -"0 c #82A5C5", -"a c #5382AE", -"b c #375978", -"c c #648FB7", -"d c #314F6A", -" ", -" ", -" ", -" . .... ", -" .. .+@. ", -" .#. .$%. ", -" .&*. .$%. ", -" ........=%-. .$%. ", -" .+;&>,'))!~-{ .$%. ", -" .]^~~~/(~^~_:. .$%. ", -" .<%([(/~%~~^}|. .1%. ", -" .23444444444435..64. ", -" .7888888888885. .98. ", -" .088888888885. .98. ", -" .abbbbbb8885. .98. ", -" ........b85. .98. ", -" .b5. .98. ", -" .5. .98. ", -" .. .cd. ", -" . .... ", -" ", -" ", -" ", -" "}; diff --git a/src/gui/bitmaps/undo.h b/src/gui/bitmaps/undo.h new file mode 100644 index 0000000000..c3058f234c --- /dev/null +++ b/src/gui/bitmaps/undo.h @@ -0,0 +1,8 @@ +/* SVG */ +static const char *const undo_svg = + "" + "" + "" + ""; diff --git a/src/gui/bitmaps/undo.xpm b/src/gui/bitmaps/undo.xpm deleted file mode 100644 index da49c9f0ee..0000000000 --- a/src/gui/bitmaps/undo.xpm +++ /dev/null @@ -1,58 +0,0 @@ -/* XPM */ -static const char * undo_xpm[] = { -"24 24 31 1", -" c None", -". c #000000", -"+ c #EFE5BA", -"@ c #EFE7C1", -"# c #EED680", -"$ c #EFE4B6", -"% c #D5B75D", -"& c #B29544", -"* c #D1B051", -"= c #C0AF73", -"- c #C0A048", -"; c #986B07", -"> c #D1940C", -", c #E0B74C", -"' c #D9C374", -") c #8F6406", -"! c #D59D1C", -"~ c #B1933F", -"{ c #DFB74A", -"] c #CCB76D", -"^ c #B8820A", -"/ c #D9A72E", -"( c #D7A62C", -"_ c #C7B26A", -": c #D4B150", -"< c #A39256", -"[ c #E2CB79", -"} c #C9B46B", -"| c #8D7E4A", -"1 c #AE9C5C", -"2 c #96864F", -" ", -" ", -" ", -" . ", -" .. ", -" .+. ", -" .@#.... ", -" .$####%&. ", -" .+#######*. ", -" .=#########-. ", -" .;>>>>>>,#'.. ", -" .)>>>>>>!#~. ", -" .)>...;>{]. ", -" .;. ..^/#. ", -" .. ..>#. ", -" . .(_. ", -" .:<. ", -" .[. ", -" .}|. ", -" .12. ", -" .. ", -" ", -" ", -" "}; diff --git a/src/gui/dlefglogit.cc b/src/gui/dlefglogit.cc index 0bb3484dff..cc9068713a 100644 --- a/src/gui/dlefglogit.cc +++ b/src/gui/dlefglogit.cc @@ -201,7 +201,7 @@ wxDEFINE_EVENT(wxEVT_LOGIT_POINT, wxThreadEvent); wxDECLARE_EVENT(wxEVT_LOGIT_FINISHED, wxThreadEvent); wxDEFINE_EVENT(wxEVT_LOGIT_FINISHED, wxThreadEvent); -#include "bitmaps/stop.xpm" +#include "bitmaps/stop.h" } // namespace @@ -271,7 +271,8 @@ LogitBehavDialog::LogitBehavDialog(wxWindow *p_parent, const std::shared_ptrSetForegroundColour(*wxBLUE); startSizer->Add(m_statusText, 0, wxALL | wxALIGN_CENTER, 5); - m_stopButton = new wxBitmapButton(this, wxID_CANCEL, wxBitmap(stop_xpm)); + m_stopButton = + new wxBitmapButton(this, wxID_CANCEL, wxBitmapBundle::FromSVG(stop_svg, wxSize(24, 24))); m_stopButton->SetToolTip(_("Stop the computation")); startSizer->Add(m_stopButton, 0, wxALL | wxALIGN_CENTER, 5); m_stopButton->Bind(wxEVT_BUTTON, &LogitBehavDialog::OnStop, this); diff --git a/src/gui/dlnashmon.cc b/src/gui/dlnashmon.cc index 91746bf96a..d291925d59 100644 --- a/src/gui/dlnashmon.cc +++ b/src/gui/dlnashmon.cc @@ -49,7 +49,7 @@ wxDEFINE_EVENT(wxEVT_EXTERNAL_RUNNER_PROFILE, wxThreadEvent); wxDECLARE_EVENT(wxEVT_EXTERNAL_RUNNER_FINISHED, wxThreadEvent); wxDEFINE_EVENT(wxEVT_EXTERNAL_RUNNER_FINISHED, wxThreadEvent); -#include "bitmaps/stop.xpm" +#include "bitmaps/stop.h" template void AddProfile(AnalysisOutput &p_output, const MixedStrategyProfile &p_profile) @@ -374,7 +374,8 @@ NashMonitorDialog::NashMonitorDialog(wxWindow *p_parent, m_countText = new wxStaticText(this, wxID_STATIC, wxT("Number of equilibria found so far: 0 ")); startSizer->Add(m_countText, 0, wxALL | wxALIGN_CENTER, 5); - m_stopButton = new wxBitmapButton(this, wxID_ANY, wxBitmap(stop_xpm)); + m_stopButton = + new wxBitmapButton(this, wxID_ANY, wxBitmapBundle::FromSVG(stop_svg, wxSize(24, 24))); m_stopButton->Enable(false); m_stopButton->SetToolTip(_("Stop the computation")); startSizer->Add(m_stopButton, 0, wxALL | wxALIGN_CENTER, 5); diff --git a/src/gui/dlnfglogit.cc b/src/gui/dlnfglogit.cc index 51d1e314bf..1afbb82957 100644 --- a/src/gui/dlnfglogit.cc +++ b/src/gui/dlnfglogit.cc @@ -204,7 +204,7 @@ wxDEFINE_EVENT(wxEVT_LOGIT_POINT, wxThreadEvent); wxDECLARE_EVENT(wxEVT_LOGIT_FINISHED, wxThreadEvent); wxDEFINE_EVENT(wxEVT_LOGIT_FINISHED, wxThreadEvent); -#include "bitmaps/stop.xpm" +#include "bitmaps/stop.h" } // namespace @@ -274,7 +274,8 @@ LogitMixedDialog::LogitMixedDialog(wxWindow *p_parent, const std::shared_ptrSetForegroundColour(*wxBLUE); startSizer->Add(m_statusText, 0, wxALL | wxALIGN_CENTER, 5); - m_stopButton = new wxBitmapButton(this, wxID_CANCEL, wxBitmap(stop_xpm)); + m_stopButton = + new wxBitmapButton(this, wxID_CANCEL, wxBitmapBundle::FromSVG(stop_svg, wxSize(24, 24))); m_stopButton->SetToolTip(_("Stop the computation")); startSizer->Add(m_stopButton, 0, wxALL | wxALIGN_CENTER, 5); m_stopButton->Bind(wxEVT_BUTTON, &LogitMixedDialog::OnStop, this); diff --git a/src/gui/gameframe.cc b/src/gui/gameframe.cc index 38507710bb..ffcec9cb02 100644 --- a/src/gui/gameframe.cc +++ b/src/gui/gameframe.cc @@ -365,15 +365,19 @@ void GameFrame::OnUpdate() // GameFrame: Creating and updating menus and toolbar //-------------------------------------------------------------------- -#include "bitmaps/calc.xpm" -#include "bitmaps/newtable.xpm" -#include "bitmaps/newtree.xpm" -#include "bitmaps/open.xpm" -#include "bitmaps/profiles.xpm" -#include "bitmaps/redo.xpm" -#include "bitmaps/save.xpm" -#include "bitmaps/table.xpm" -#include "bitmaps/undo.xpm" +#include "bitmaps/calc.h" +#include "bitmaps/newtable.h" +#include "bitmaps/newtree.h" +#include "bitmaps/open.h" +#include "bitmaps/profiles.h" +#include "bitmaps/redo.h" +#include "bitmaps/save.h" +#include "bitmaps/table.h" +#include "bitmaps/undo.h" + +namespace { +const wxSize TOOLBAR_ICON_SIZE(24, 24); +} // end anonymous namespace void GameFrame::MakeMenus() { @@ -485,35 +489,43 @@ void GameFrame::MakeToolbar() toolBar->SetMargins(2, 2); toolBar->SetToolBitmapSize(wxSize(24, 24)); - toolBar->AddTool(GBT_MENU_FILE_NEW_EFG, wxEmptyString, wxBitmap(newtree_xpm), wxNullBitmap, + toolBar->AddTool(GBT_MENU_FILE_NEW_EFG, wxEmptyString, + wxBitmapBundle::FromSVG(newtree_svg, TOOLBAR_ICON_SIZE), wxBitmapBundle(), wxITEM_NORMAL, _("Create a new extensive (tree) game"), _("Create a new extensive (tree) game"), nullptr); - toolBar->AddTool(GBT_MENU_FILE_NEW_NFG, wxEmptyString, wxBitmap(newtable_xpm), wxNullBitmap, + toolBar->AddTool(GBT_MENU_FILE_NEW_NFG, wxEmptyString, + wxBitmapBundle::FromSVG(newtable_svg, TOOLBAR_ICON_SIZE), wxBitmapBundle(), wxITEM_NORMAL, _("Create a new strategic (table) game"), _("Create a new strategic (table) game"), nullptr); - toolBar->AddTool(wxID_OPEN, wxEmptyString, wxBitmap(open_xpm), wxNullBitmap, wxITEM_NORMAL, - _("Open a file"), _("Open a file"), nullptr); - toolBar->AddTool(wxID_SAVE, wxEmptyString, wxBitmap(save_xpm), wxNullBitmap, wxITEM_NORMAL, - _("Save this game"), _("Save this game"), nullptr); + toolBar->AddTool(wxID_OPEN, wxEmptyString, wxBitmapBundle::FromSVG(open_svg, TOOLBAR_ICON_SIZE), + wxBitmapBundle(), wxITEM_NORMAL, _("Open a file"), _("Open a file"), nullptr); + toolBar->AddTool(wxID_SAVE, wxEmptyString, wxBitmapBundle::FromSVG(save_svg, TOOLBAR_ICON_SIZE), + wxBitmapBundle(), wxITEM_NORMAL, _("Save this game"), _("Save this game"), + nullptr); toolBar->AddSeparator(); - toolBar->AddTool(wxID_UNDO, wxEmptyString, wxBitmap(undo_xpm), wxNullBitmap, wxITEM_NORMAL, - _("Undo the last change"), _("Undo the last change"), nullptr); - toolBar->AddTool(wxID_REDO, wxEmptyString, wxBitmap(redo_xpm), wxNullBitmap, wxITEM_NORMAL, - _("Redo the last undone change"), _("Redo the last undone change"), nullptr); + toolBar->AddTool(wxID_UNDO, wxEmptyString, wxBitmapBundle::FromSVG(undo_svg, TOOLBAR_ICON_SIZE), + wxBitmapBundle(), wxITEM_NORMAL, _("Undo the last change"), + _("Undo the last change"), nullptr); + toolBar->AddTool(wxID_REDO, wxEmptyString, wxBitmapBundle::FromSVG(redo_svg, TOOLBAR_ICON_SIZE), + wxBitmapBundle(), wxITEM_NORMAL, _("Redo the last undone change"), + _("Redo the last undone change"), nullptr); toolBar->AddSeparator(); if (m_doc->GetGame()->IsTree()) { - toolBar->AddTool(GBT_MENU_VIEW_STRATEGIC, wxEmptyString, wxBitmap(table_xpm), wxNullBitmap, + toolBar->AddTool(GBT_MENU_VIEW_STRATEGIC, wxEmptyString, + wxBitmapBundle::FromSVG(table_svg, TOOLBAR_ICON_SIZE), wxBitmapBundle(), wxITEM_CHECK, _("Display the reduced strategic representation of the game"), _("Display the reduced strategic representation of the game"), nullptr); } - toolBar->AddTool(GBT_MENU_VIEW_PROFILES, wxEmptyString, wxBitmap(profiles_xpm), wxNullBitmap, + toolBar->AddTool(GBT_MENU_VIEW_PROFILES, wxEmptyString, + wxBitmapBundle::FromSVG(profiles_svg, TOOLBAR_ICON_SIZE), wxBitmapBundle(), wxITEM_CHECK, _("View the list of computed strategy profiles"), _("Show or hide the list of computed strategy profiles"), nullptr); - toolBar->AddTool(GBT_MENU_TOOLS_EQUILIBRIUM, wxEmptyString, wxBitmap(calc_xpm), wxNullBitmap, + toolBar->AddTool(GBT_MENU_TOOLS_EQUILIBRIUM, wxEmptyString, + wxBitmapBundle::FromSVG(calc_svg, TOOLBAR_ICON_SIZE), wxBitmapBundle(), wxITEM_NORMAL, _("Compute Nash equilibria of this game"), _("Compute Nash equilibria of this game"), nullptr); diff --git a/src/gui/nfgpanel.cc b/src/gui/nfgpanel.cc index 3866b971f5..65f2263aac 100644 --- a/src/gui/nfgpanel.cc +++ b/src/gui/nfgpanel.cc @@ -57,10 +57,10 @@ class StrategyDominanceToolbar final : public wxPanel, public GameView { ~StrategyDominanceToolbar() override = default; }; -#include "bitmaps/next.xpm" -#include "bitmaps/prev.xpm" -#include "bitmaps/tobegin.xpm" -#include "bitmaps/toend.xpm" +#include "bitmaps/next.h" +#include "bitmaps/prev.h" +#include "bitmaps/tobegin.h" +#include "bitmaps/toend.h" StrategyDominanceToolbar::StrategyDominanceToolbar(wxWindow *p_parent, const std::shared_ptr &p_doc) @@ -81,13 +81,15 @@ StrategyDominanceToolbar::StrategyDominanceToolbar(wxWindow *p_parent, topSizer->Add(new wxStaticText(this, wxID_STATIC, wxT("dominated:")), 0, wxALL | wxALIGN_CENTER, 5); - m_topButton = new wxBitmapButton(this, wxID_ANY, wxBitmap(tobegin_xpm)); + m_topButton = + new wxBitmapButton(this, wxID_ANY, wxBitmapBundle::FromSVG(tobegin_svg, wxSize(24, 24))); m_topButton->SetToolTip(_("Show all strategies")); Connect(m_topButton->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(StrategyDominanceToolbar::OnTopLevel)); topSizer->Add(m_topButton, 0, wxALL | wxALIGN_CENTER, 5); - m_prevButton = new wxBitmapButton(this, wxID_ANY, wxBitmap(prev_xpm)); + m_prevButton = + new wxBitmapButton(this, wxID_ANY, wxBitmapBundle::FromSVG(prev_svg, wxSize(24, 24))); m_prevButton->SetToolTip(_("Previous round of elimination")); Connect(m_prevButton->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(StrategyDominanceToolbar::OnPreviousLevel)); @@ -97,13 +99,15 @@ StrategyDominanceToolbar::StrategyDominanceToolbar(wxWindow *p_parent, wxDefaultSize, wxALIGN_CENTER | wxST_NO_AUTORESIZE); topSizer->Add(m_level, 0, wxALL | wxALIGN_CENTER, 5); - m_nextButton = new wxBitmapButton(this, wxID_ANY, wxBitmap(next_xpm)); + m_nextButton = + new wxBitmapButton(this, wxID_ANY, wxBitmapBundle::FromSVG(next_svg, wxSize(24, 24))); m_nextButton->SetToolTip(_("Next round of elimination")); Connect(m_nextButton->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(StrategyDominanceToolbar::OnNextLevel)); topSizer->Add(m_nextButton, 0, wxALL | wxALIGN_CENTER, 5); - m_allButton = new wxBitmapButton(this, wxID_ANY, wxBitmap(toend_xpm)); + m_allButton = + new wxBitmapButton(this, wxID_ANY, wxBitmapBundle::FromSVG(toend_svg, wxSize(24, 24))); m_allButton->SetToolTip(_("Eliminate iteratively")); Connect(m_allButton->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(StrategyDominanceToolbar::OnLastLevel)); diff --git a/src/gui/welcome.cc b/src/gui/welcome.cc index 559df0998b..1ea42f35d9 100644 --- a/src/gui/welcome.cc +++ b/src/gui/welcome.cc @@ -36,9 +36,9 @@ WelcomePanel::WelcomePanel(wxWindow *parent) : wxPanel(parent) LayoutControls(); } -#include "bitmaps/newtable.xpm" -#include "bitmaps/newtree.xpm" -#include "bitmaps/open.xpm" +#include "bitmaps/newtable.h" +#include "bitmaps/newtree.h" +#include "bitmaps/open.h" #include "bitmaps/gambitbig.xpm" namespace { @@ -85,13 +85,13 @@ void WelcomePanel::CreateControls() new wxCommandLinkButton(this, ID_WELCOME_NEW_EXTENSIVE_FORM, "New extensive form game", "Create a game with a tree representation"); - m_openButton->SetBitmap(open_xpm); + m_openButton->SetBitmap(wxBitmapBundle::FromSVG(open_svg, wxSize(24, 24))); m_openButton->SetBitmapMargins(24, 12); - m_newNormalFormButton->SetBitmap(newtable_xpm); + m_newNormalFormButton->SetBitmap(wxBitmapBundle::FromSVG(newtable_svg, wxSize(24, 24))); m_newNormalFormButton->SetBitmapMargins(24, 12); - m_newExtensiveFormButton->SetBitmap(newtree_xpm); + m_newExtensiveFormButton->SetBitmap(wxBitmapBundle::FromSVG(newtree_svg, wxSize(24, 24))); m_newExtensiveFormButton->SetBitmapMargins(24, 12); const wxSize buttonSize(340, 72); From 9cf8e7e295c17b7de0e8eaeb8bf6b154197cd6c0 Mon Sep 17 00:00:00 2001 From: Theodore Turocy Date: Thu, 27 Aug 2026 07:20:06 +0100 Subject: [PATCH 2/5] Shrink toolbar and button icons from 24px to 16px Now that icons are vector SVG rather than fixed-resolution XPM, the 24px size that resolution constraints previously locked in is no longer necessary. 16px matches modern dense-toolbar conventions and applies uniformly to the main toolbar, the profile-browser nav buttons, and the solver dialogs' Stop buttons. Co-Authored-By: Claude Sonnet 5 --- src/gui/dlefglogit.cc | 2 +- src/gui/dlnashmon.cc | 2 +- src/gui/dlnfglogit.cc | 2 +- src/gui/gameframe.cc | 4 ++-- src/gui/nfgpanel.cc | 8 ++++---- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/gui/dlefglogit.cc b/src/gui/dlefglogit.cc index cc9068713a..d7650ee6d9 100644 --- a/src/gui/dlefglogit.cc +++ b/src/gui/dlefglogit.cc @@ -272,7 +272,7 @@ LogitBehavDialog::LogitBehavDialog(wxWindow *p_parent, const std::shared_ptrAdd(m_statusText, 0, wxALL | wxALIGN_CENTER, 5); m_stopButton = - new wxBitmapButton(this, wxID_CANCEL, wxBitmapBundle::FromSVG(stop_svg, wxSize(24, 24))); + new wxBitmapButton(this, wxID_CANCEL, wxBitmapBundle::FromSVG(stop_svg, wxSize(16, 16))); m_stopButton->SetToolTip(_("Stop the computation")); startSizer->Add(m_stopButton, 0, wxALL | wxALIGN_CENTER, 5); m_stopButton->Bind(wxEVT_BUTTON, &LogitBehavDialog::OnStop, this); diff --git a/src/gui/dlnashmon.cc b/src/gui/dlnashmon.cc index d291925d59..aac4c06598 100644 --- a/src/gui/dlnashmon.cc +++ b/src/gui/dlnashmon.cc @@ -375,7 +375,7 @@ NashMonitorDialog::NashMonitorDialog(wxWindow *p_parent, startSizer->Add(m_countText, 0, wxALL | wxALIGN_CENTER, 5); m_stopButton = - new wxBitmapButton(this, wxID_ANY, wxBitmapBundle::FromSVG(stop_svg, wxSize(24, 24))); + new wxBitmapButton(this, wxID_ANY, wxBitmapBundle::FromSVG(stop_svg, wxSize(16, 16))); m_stopButton->Enable(false); m_stopButton->SetToolTip(_("Stop the computation")); startSizer->Add(m_stopButton, 0, wxALL | wxALIGN_CENTER, 5); diff --git a/src/gui/dlnfglogit.cc b/src/gui/dlnfglogit.cc index 1afbb82957..c3d7ac91ab 100644 --- a/src/gui/dlnfglogit.cc +++ b/src/gui/dlnfglogit.cc @@ -275,7 +275,7 @@ LogitMixedDialog::LogitMixedDialog(wxWindow *p_parent, const std::shared_ptrAdd(m_statusText, 0, wxALL | wxALIGN_CENTER, 5); m_stopButton = - new wxBitmapButton(this, wxID_CANCEL, wxBitmapBundle::FromSVG(stop_svg, wxSize(24, 24))); + new wxBitmapButton(this, wxID_CANCEL, wxBitmapBundle::FromSVG(stop_svg, wxSize(16, 16))); m_stopButton->SetToolTip(_("Stop the computation")); startSizer->Add(m_stopButton, 0, wxALL | wxALIGN_CENTER, 5); m_stopButton->Bind(wxEVT_BUTTON, &LogitMixedDialog::OnStop, this); diff --git a/src/gui/gameframe.cc b/src/gui/gameframe.cc index ffcec9cb02..524e6ef224 100644 --- a/src/gui/gameframe.cc +++ b/src/gui/gameframe.cc @@ -376,7 +376,7 @@ void GameFrame::OnUpdate() #include "bitmaps/undo.h" namespace { -const wxSize TOOLBAR_ICON_SIZE(24, 24); +const wxSize TOOLBAR_ICON_SIZE(16, 16); } // end anonymous namespace void GameFrame::MakeMenus() @@ -487,7 +487,7 @@ void GameFrame::MakeToolbar() { wxToolBar *toolBar = CreateToolBar(wxTB_HORIZONTAL | wxTB_FLAT); toolBar->SetMargins(2, 2); - toolBar->SetToolBitmapSize(wxSize(24, 24)); + toolBar->SetToolBitmapSize(TOOLBAR_ICON_SIZE); toolBar->AddTool(GBT_MENU_FILE_NEW_EFG, wxEmptyString, wxBitmapBundle::FromSVG(newtree_svg, TOOLBAR_ICON_SIZE), wxBitmapBundle(), diff --git a/src/gui/nfgpanel.cc b/src/gui/nfgpanel.cc index 65f2263aac..4c696fa3a3 100644 --- a/src/gui/nfgpanel.cc +++ b/src/gui/nfgpanel.cc @@ -82,14 +82,14 @@ StrategyDominanceToolbar::StrategyDominanceToolbar(wxWindow *p_parent, 5); m_topButton = - new wxBitmapButton(this, wxID_ANY, wxBitmapBundle::FromSVG(tobegin_svg, wxSize(24, 24))); + new wxBitmapButton(this, wxID_ANY, wxBitmapBundle::FromSVG(tobegin_svg, wxSize(16, 16))); m_topButton->SetToolTip(_("Show all strategies")); Connect(m_topButton->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(StrategyDominanceToolbar::OnTopLevel)); topSizer->Add(m_topButton, 0, wxALL | wxALIGN_CENTER, 5); m_prevButton = - new wxBitmapButton(this, wxID_ANY, wxBitmapBundle::FromSVG(prev_svg, wxSize(24, 24))); + new wxBitmapButton(this, wxID_ANY, wxBitmapBundle::FromSVG(prev_svg, wxSize(16, 16))); m_prevButton->SetToolTip(_("Previous round of elimination")); Connect(m_prevButton->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(StrategyDominanceToolbar::OnPreviousLevel)); @@ -100,14 +100,14 @@ StrategyDominanceToolbar::StrategyDominanceToolbar(wxWindow *p_parent, topSizer->Add(m_level, 0, wxALL | wxALIGN_CENTER, 5); m_nextButton = - new wxBitmapButton(this, wxID_ANY, wxBitmapBundle::FromSVG(next_svg, wxSize(24, 24))); + new wxBitmapButton(this, wxID_ANY, wxBitmapBundle::FromSVG(next_svg, wxSize(16, 16))); m_nextButton->SetToolTip(_("Next round of elimination")); Connect(m_nextButton->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(StrategyDominanceToolbar::OnNextLevel)); topSizer->Add(m_nextButton, 0, wxALL | wxALIGN_CENTER, 5); m_allButton = - new wxBitmapButton(this, wxID_ANY, wxBitmapBundle::FromSVG(toend_svg, wxSize(24, 24))); + new wxBitmapButton(this, wxID_ANY, wxBitmapBundle::FromSVG(toend_svg, wxSize(16, 16))); m_allButton->SetToolTip(_("Eliminate iteratively")); Connect(m_allButton->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(StrategyDominanceToolbar::OnLastLevel)); From 2260032db001d7c3a24ac757b7d280ac1445fc82 Mon Sep 17 00:00:00 2001 From: Theodore Turocy Date: Thu, 27 Aug 2026 07:39:05 +0100 Subject: [PATCH 3/5] Revert "Shrink toolbar and button icons from 24px to 16px" This reverts commit 9cf8e7e295c17b7de0e8eaeb8bf6b154197cd6c0. --- src/gui/dlefglogit.cc | 2 +- src/gui/dlnashmon.cc | 2 +- src/gui/dlnfglogit.cc | 2 +- src/gui/gameframe.cc | 4 ++-- src/gui/nfgpanel.cc | 8 ++++---- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/gui/dlefglogit.cc b/src/gui/dlefglogit.cc index d7650ee6d9..cc9068713a 100644 --- a/src/gui/dlefglogit.cc +++ b/src/gui/dlefglogit.cc @@ -272,7 +272,7 @@ LogitBehavDialog::LogitBehavDialog(wxWindow *p_parent, const std::shared_ptrAdd(m_statusText, 0, wxALL | wxALIGN_CENTER, 5); m_stopButton = - new wxBitmapButton(this, wxID_CANCEL, wxBitmapBundle::FromSVG(stop_svg, wxSize(16, 16))); + new wxBitmapButton(this, wxID_CANCEL, wxBitmapBundle::FromSVG(stop_svg, wxSize(24, 24))); m_stopButton->SetToolTip(_("Stop the computation")); startSizer->Add(m_stopButton, 0, wxALL | wxALIGN_CENTER, 5); m_stopButton->Bind(wxEVT_BUTTON, &LogitBehavDialog::OnStop, this); diff --git a/src/gui/dlnashmon.cc b/src/gui/dlnashmon.cc index aac4c06598..d291925d59 100644 --- a/src/gui/dlnashmon.cc +++ b/src/gui/dlnashmon.cc @@ -375,7 +375,7 @@ NashMonitorDialog::NashMonitorDialog(wxWindow *p_parent, startSizer->Add(m_countText, 0, wxALL | wxALIGN_CENTER, 5); m_stopButton = - new wxBitmapButton(this, wxID_ANY, wxBitmapBundle::FromSVG(stop_svg, wxSize(16, 16))); + new wxBitmapButton(this, wxID_ANY, wxBitmapBundle::FromSVG(stop_svg, wxSize(24, 24))); m_stopButton->Enable(false); m_stopButton->SetToolTip(_("Stop the computation")); startSizer->Add(m_stopButton, 0, wxALL | wxALIGN_CENTER, 5); diff --git a/src/gui/dlnfglogit.cc b/src/gui/dlnfglogit.cc index c3d7ac91ab..1afbb82957 100644 --- a/src/gui/dlnfglogit.cc +++ b/src/gui/dlnfglogit.cc @@ -275,7 +275,7 @@ LogitMixedDialog::LogitMixedDialog(wxWindow *p_parent, const std::shared_ptrAdd(m_statusText, 0, wxALL | wxALIGN_CENTER, 5); m_stopButton = - new wxBitmapButton(this, wxID_CANCEL, wxBitmapBundle::FromSVG(stop_svg, wxSize(16, 16))); + new wxBitmapButton(this, wxID_CANCEL, wxBitmapBundle::FromSVG(stop_svg, wxSize(24, 24))); m_stopButton->SetToolTip(_("Stop the computation")); startSizer->Add(m_stopButton, 0, wxALL | wxALIGN_CENTER, 5); m_stopButton->Bind(wxEVT_BUTTON, &LogitMixedDialog::OnStop, this); diff --git a/src/gui/gameframe.cc b/src/gui/gameframe.cc index 524e6ef224..ffcec9cb02 100644 --- a/src/gui/gameframe.cc +++ b/src/gui/gameframe.cc @@ -376,7 +376,7 @@ void GameFrame::OnUpdate() #include "bitmaps/undo.h" namespace { -const wxSize TOOLBAR_ICON_SIZE(16, 16); +const wxSize TOOLBAR_ICON_SIZE(24, 24); } // end anonymous namespace void GameFrame::MakeMenus() @@ -487,7 +487,7 @@ void GameFrame::MakeToolbar() { wxToolBar *toolBar = CreateToolBar(wxTB_HORIZONTAL | wxTB_FLAT); toolBar->SetMargins(2, 2); - toolBar->SetToolBitmapSize(TOOLBAR_ICON_SIZE); + toolBar->SetToolBitmapSize(wxSize(24, 24)); toolBar->AddTool(GBT_MENU_FILE_NEW_EFG, wxEmptyString, wxBitmapBundle::FromSVG(newtree_svg, TOOLBAR_ICON_SIZE), wxBitmapBundle(), diff --git a/src/gui/nfgpanel.cc b/src/gui/nfgpanel.cc index 4c696fa3a3..65f2263aac 100644 --- a/src/gui/nfgpanel.cc +++ b/src/gui/nfgpanel.cc @@ -82,14 +82,14 @@ StrategyDominanceToolbar::StrategyDominanceToolbar(wxWindow *p_parent, 5); m_topButton = - new wxBitmapButton(this, wxID_ANY, wxBitmapBundle::FromSVG(tobegin_svg, wxSize(16, 16))); + new wxBitmapButton(this, wxID_ANY, wxBitmapBundle::FromSVG(tobegin_svg, wxSize(24, 24))); m_topButton->SetToolTip(_("Show all strategies")); Connect(m_topButton->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(StrategyDominanceToolbar::OnTopLevel)); topSizer->Add(m_topButton, 0, wxALL | wxALIGN_CENTER, 5); m_prevButton = - new wxBitmapButton(this, wxID_ANY, wxBitmapBundle::FromSVG(prev_svg, wxSize(16, 16))); + new wxBitmapButton(this, wxID_ANY, wxBitmapBundle::FromSVG(prev_svg, wxSize(24, 24))); m_prevButton->SetToolTip(_("Previous round of elimination")); Connect(m_prevButton->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(StrategyDominanceToolbar::OnPreviousLevel)); @@ -100,14 +100,14 @@ StrategyDominanceToolbar::StrategyDominanceToolbar(wxWindow *p_parent, topSizer->Add(m_level, 0, wxALL | wxALIGN_CENTER, 5); m_nextButton = - new wxBitmapButton(this, wxID_ANY, wxBitmapBundle::FromSVG(next_svg, wxSize(16, 16))); + new wxBitmapButton(this, wxID_ANY, wxBitmapBundle::FromSVG(next_svg, wxSize(24, 24))); m_nextButton->SetToolTip(_("Next round of elimination")); Connect(m_nextButton->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(StrategyDominanceToolbar::OnNextLevel)); topSizer->Add(m_nextButton, 0, wxALL | wxALIGN_CENTER, 5); m_allButton = - new wxBitmapButton(this, wxID_ANY, wxBitmapBundle::FromSVG(toend_svg, wxSize(16, 16))); + new wxBitmapButton(this, wxID_ANY, wxBitmapBundle::FromSVG(toend_svg, wxSize(24, 24))); m_allButton->SetToolTip(_("Eliminate iteratively")); Connect(m_allButton->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(StrategyDominanceToolbar::OnLastLevel)); From 2cbcfeffc5cb134feff66ca166b3bf61c2fa26cd Mon Sep 17 00:00:00 2001 From: Theodore Turocy Date: Thu, 27 Aug 2026 10:27:13 +0100 Subject: [PATCH 4/5] Fix dllogit.h to use the SVG stop icon after merge The gui_icons merge commit accidentally reverted this file's stop-icon change back to bitmaps/stop.xpm (already deleted on this branch) because the edit was made to the merge conflict's auto-staged version without re-staging it before committing. Co-Authored-By: Claude Sonnet 5 --- src/gui/dllogit.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/gui/dllogit.h b/src/gui/dllogit.h index 7b2198937d..d6462b2cc0 100644 --- a/src/gui/dllogit.h +++ b/src/gui/dllogit.h @@ -45,7 +45,7 @@ wxDEFINE_EVENT(wxEVT_LOGIT_POINT, wxThreadEvent); wxDECLARE_EVENT(wxEVT_LOGIT_FINISHED, wxThreadEvent); wxDEFINE_EVENT(wxEVT_LOGIT_FINISHED, wxThreadEvent); -#include "bitmaps/stop.xpm" +#include "bitmaps/stop.h" } // namespace //! @@ -450,7 +450,8 @@ template class LogitDialog final : public wxDialog { m_statusText->SetForegroundColour(*wxBLUE); startSizer->Add(m_statusText, 0, wxALL | wxALIGN_CENTER, S); - m_stopButton = new wxBitmapButton(this, wxID_CANCEL, wxBitmap(stop_xpm)); + m_stopButton = + new wxBitmapButton(this, wxID_CANCEL, wxBitmapBundle::FromSVG(stop_svg, wxSize(24, 24))); m_stopButton->SetToolTip(_("Stop the computation")); startSizer->Add(m_stopButton, 0, wxALL | wxALIGN_CENTER, S); m_stopButton->Bind(wxEVT_BUTTON, &LogitDialog::OnStop, this); From 2ed0a231b0b7ae0722f75de8b5e70b78a601fe5c Mon Sep 17 00:00:00 2001 From: Theodore Turocy Date: Thu, 27 Aug 2026 10:30:59 +0100 Subject: [PATCH 5/5] ChangeLog --- ChangeLog | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ChangeLog b/ChangeLog index 19c2093797..0c8748e36c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -6,6 +6,8 @@ is found or another solver event is emitted. ### Changed +- Refreshed GUI icons and standardised dialog layout and formatting +- Improved installers for Windows, and disk-image "installer" for MacOS - Revised `StrategySupportProfile` to expose a slimmer set of operations, and implement `StrategySupport` as an immutable snapshot.