From 9cd0eca1cefab11e6fb224d2317d0a58498e61eb Mon Sep 17 00:00:00 2001 From: bitplane Date: Sun, 8 Jul 2007 12:19:39 +0000 Subject: [PATCH] fixed a bug I caused in CGUIMenu and CGUIContextMenu. added some more window symbols to the built-in font and the skin. git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@768 dfc29bdd-3216-0410-991c-e03cc46cb475 --- changes.txt | 7 + examples/09.Meshviewer/main.cpp | 1 + include/IGUISkin.h | 21 +++ source/Irrlicht/BuiltInFont.h | 210 ++++++++++++++-------------- source/Irrlicht/CGUIContextMenu.cpp | 14 +- source/Irrlicht/CGUIContextMenu.h | 3 +- source/Irrlicht/CGUIMenu.cpp | 4 +- source/Irrlicht/CGUISkin.cpp | 12 +- source/Irrlicht/builtInFont.bmp | Bin 8266 -> 8266 bytes 9 files changed, 158 insertions(+), 114 deletions(-) diff --git a/changes.txt b/changes.txt index fa34fe43..facdb1c2 100644 --- a/changes.txt +++ b/changes.txt @@ -42,6 +42,13 @@ Changes in version 1.4 (... 2007) GUI: + - Added 7 more symbols to the built-in font and skin. + EGDI_MORE_LEFT, EGDI_MORE_RIGHT, EGDI_MORE_UP, EGDI_MORE_DOWN: "<<" symbols + indicating there is more content in that direction. + EGDI_WINDOW_RESIZE: Window symbol for resizing by clicking the bottom right + corner of a window. + EGDI_EXPAND, EGDI_COLLAPSE: Plus and minus buttons for trees. + - Added IGUISkin::draw2dRectangle, so skins can override the default highlight. - EGET_ELEMENT_FOCUS_LOST and EGET_ELEMENT_FOCUSED events can now be absorbed diff --git a/examples/09.Meshviewer/main.cpp b/examples/09.Meshviewer/main.cpp index df5319fb..23ad2136 100644 --- a/examples/09.Meshviewer/main.cpp +++ b/examples/09.Meshviewer/main.cpp @@ -171,6 +171,7 @@ void createToolBox() env->addStaticText(L"Transparent Control:", core::rect(10,240,150,260), true, false, t1); IGUIScrollBar* scrollbar = env->addScrollBar(true, core::rect(10,260,150,275), t1, 104); scrollbar->setMax(255); + scrollbar->setPos(255); // bring irrlicht engine logo to front, because it // now may be below the newly created toolbox diff --git a/include/IGUISkin.h b/include/IGUISkin.h index 3dbd3655..1d8212e7 100644 --- a/include/IGUISkin.h +++ b/include/IGUISkin.h @@ -221,6 +221,8 @@ namespace gui EGDI_WINDOW_CLOSE, //! minimize window button EGDI_WINDOW_MINIMIZE, + //! resize icon for bottom right corner of a window + EGDI_WINDOW_RESIZE, //! scroll bar up button EGDI_CURSOR_UP, //! scroll bar down button @@ -241,6 +243,18 @@ namespace gui EGDI_SMALL_CURSOR_DOWN, //! selection dot in a radio button EGDI_RADIO_BUTTON_CHECKED, + //! << icon indicating there is more content to the left + EGDI_MORE_LEFT, + //! >> icon indicating that there is more content to the right + EGDI_MORE_RIGHT, + //! icon indicating that there is more content above + EGDI_MORE_UP, + //! icon indicating that there is more content below + EGDI_MORE_DOWN, + //! plus icon for trees + EGDI_EXPAND, + //! minus icon for trees + EGDI_COLLAPSE, //! file icon for file selection EGDI_FILE, //! folder icon for file selection @@ -256,6 +270,7 @@ namespace gui "windowRestore", "windowClose", "windowMinimize", + "windowResize", "cursorUp", "cursorDown", "cursorLeft", @@ -266,6 +281,12 @@ namespace gui "smallCursorUp", "smallCursorDown", "radioButtonChecked", + "moreLeft", + "moreRight", + "moreUp", + "moreDown", + "expand", + "collapse", "file", "directory", 0 diff --git a/source/Irrlicht/BuiltInFont.h b/source/Irrlicht/BuiltInFont.h index 35f05021..d4fc8912 100644 --- a/source/Irrlicht/BuiltInFont.h +++ b/source/Irrlicht/BuiltInFont.h @@ -81,182 +81,182 @@ u8 BuiltInFontData[] = 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, + 0x22, 0x22, 0x22, 0x22, 0x12, 0x22, 0x21, 0x22, + 0x22, 0x22, 0x21, 0x22, 0x22, 0x22, 0x22, 0x12, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x00, + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x04, + 0x44, 0x44, 0x02, 0x04, 0x44, 0x44, 0x40, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x04, + 0x44, 0x44, 0x02, 0x04, 0x44, 0x44, 0x40, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, + 0x22, 0x22, 0x22, 0x42, 0x22, 0x22, 0x22, 0x04, + 0x44, 0x44, 0x02, 0x04, 0x44, 0x44, 0x40, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, + 0x22, 0x22, 0x24, 0x44, 0x22, 0x44, 0x42, 0x04, + 0x44, 0x44, 0x02, 0x04, 0x44, 0x44, 0x40, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, + 0x22, 0x22, 0x22, 0x42, 0x22, 0x22, 0x22, 0x04, + 0x40, 0x00, 0x02, 0x00, 0x44, 0x00, 0x00, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x04, + 0x40, 0x40, 0x22, 0x20, 0x00, 0x02, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x04, + 0x40, 0x02, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x00, + 0x00, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, + 0x22, 0x22, 0x32, 0x22, 0x23, 0x22, 0x22, 0x32, + 0x22, 0x22, 0x22, 0x32, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x12, 0x22, + 0x22, 0x22, 0x21, 0x22, 0x22, 0x22, 0x12, 0x22, + 0x22, 0x22, 0x12, 0x22, 0x22, 0x22, 0x12, 0x22, + 0x21, 0x22, 0x22, 0x12, 0x22, 0x22, 0x22, 0x12, + 0x22, 0x22, 0x12, 0x22, 0x21, 0x22, 0x22, 0x12, + 0x22, 0x22, 0x12, 0x22, 0x22, 0x22, 0x21, 0x22, + 0x22, 0x22, 0x22, 0x12, 0x22, 0x22, 0x12, 0x22, + 0x22, 0x12, 0x22, 0x22, 0x22, 0x22, 0x12, 0x22, + 0x22, 0x22, 0x44, 0x44, 0x44, 0x22, 0x22, 0x22, + 0x22, 0x22, 0x22, 0x44, 0x44, 0x44, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, + 0x22, 0x22, 0x22, 0x24, 0x22, 0x24, 0x22, 0x24, + 0x22, 0x22, 0x24, 0x42, 0x24, 0x42, 0x22, 0x22, + 0x22, 0x22, 0x42, 0x22, 0x24, 0x22, 0x24, 0x42, + 0x22, 0x24, 0x42, 0x44, 0x44, 0x44, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, + 0x42, 0x42, 0x22, 0x22, 0x24, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, + 0x22, 0x22, 0x22, 0x24, 0x42, 0x44, 0x22, 0x44, + 0x42, 0x22, 0x22, 0x44, 0x22, 0x44, 0x22, 0x22, + 0x22, 0x22, 0x42, 0x22, 0x24, 0x22, 0x22, 0x44, + 0x22, 0x44, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, + 0x22, 0x22, 0x22, 0x22, 0x42, 0x22, 0x22, 0x24, + 0x42, 0x44, 0x22, 0x22, 0x44, 0x42, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, - 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, - 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, - 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, - 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, - 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, - 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, - 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, - 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, - 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, - 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, - 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, - 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, - 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, - 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, - 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x22, - 0x22, 0x22, 0x22, 0x12, 0x22, 0x22, 0x22, 0x21, - 0x22, 0x22, 0x22, 0x12, 0x22, 0x22, 0x22, 0x12, - 0x22, 0x22, 0x22, 0x12, 0x22, 0x21, 0x22, 0x22, - 0x12, 0x22, 0x22, 0x22, 0x12, 0x22, 0x22, 0x12, - 0x22, 0x21, 0x22, 0x22, 0x12, 0x22, 0x22, 0x12, - 0x22, 0x22, 0x22, 0x12, 0x22, 0x22, 0x22, 0x21, - 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, - 0x22, 0x22, 0x44, 0x44, 0x44, 0x44, 0x42, 0x44, + 0x22, 0x22, 0x22, 0x24, 0x42, 0x24, 0x42, 0x44, + 0x22, 0x44, 0x22, 0x22, 0x44, 0x42, 0x24, 0x42, + 0x44, 0x22, 0x22, 0x24, 0x42, 0x24, 0x22, 0x22, + 0x22, 0x22, 0x42, 0x22, 0x24, 0x44, 0x22, 0x24, + 0x44, 0x42, 0x22, 0x22, 0x22, 0x22, 0x24, 0x44, + 0x44, 0x44, 0x22, 0x24, 0x44, 0x22, 0x22, 0x44, + 0x42, 0x44, 0x42, 0x24, 0x44, 0x44, 0x22, 0x24, 0x44, 0x44, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, - 0x44, 0x44, 0x44, 0x22, 0x22, 0x22, 0x22, 0x22, + 0x24, 0x42, 0x22, 0x44, 0x22, 0x44, 0x22, 0x24, + 0x42, 0x24, 0x42, 0x22, 0x24, 0x22, 0x24, 0x22, + 0x24, 0x22, 0x22, 0x22, 0x44, 0x22, 0x22, 0x22, + 0x22, 0x22, 0x44, 0x44, 0x44, 0x24, 0x22, 0x22, + 0x44, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x44, + 0x44, 0x42, 0x22, 0x44, 0x44, 0x42, 0x24, 0x44, + 0x42, 0x44, 0x44, 0x24, 0x42, 0x44, 0x42, 0x22, + 0x22, 0x22, 0x22, 0x44, 0x42, 0x22, 0x42, 0x22, + 0x44, 0x44, 0x24, 0x42, 0x24, 0x42, 0x22, 0x22, + 0x44, 0x22, 0x44, 0x24, 0x22, 0x24, 0x22, 0x24, + 0x22, 0x22, 0x22, 0x22, 0x24, 0x42, 0x22, 0x22, + 0x22, 0x22, 0x44, 0x44, 0x44, 0x24, 0x22, 0x24, + 0x44, 0x42, 0x22, 0x22, 0x22, 0x22, 0x22, 0x24, + 0x44, 0x22, 0x24, 0x44, 0x44, 0x44, 0x22, 0x44, + 0x42, 0x44, 0x42, 0x24, 0x22, 0x24, 0x44, 0x22, + 0x24, 0x22, 0x22, 0x24, 0x22, 0x24, 0x44, 0x22, + 0x44, 0x44, 0x22, 0x44, 0x22, 0x44, 0x22, 0x24, + 0x42, 0x24, 0x42, 0x24, 0x42, 0x44, 0x22, 0x44, + 0x42, 0x22, 0x22, 0x22, 0x22, 0x44, 0x22, 0x22, + 0x22, 0x22, 0x22, 0x42, 0x22, 0x24, 0x22, 0x44, + 0x22, 0x44, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, + 0x42, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x24, + 0x42, 0x44, 0x22, 0x22, 0x22, 0x22, 0x44, 0x22, + 0x44, 0x42, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, + 0x24, 0x42, 0x22, 0x24, 0x42, 0x24, 0x42, 0x44, + 0x22, 0x44, 0x22, 0x22, 0x44, 0x42, 0x24, 0x42, + 0x44, 0x22, 0x22, 0x22, 0x22, 0x24, 0x22, 0x22, + 0x22, 0x22, 0x22, 0x44, 0x44, 0x44, 0x24, 0x42, + 0x22, 0x24, 0x42, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, + 0x42, 0x42, 0x22, 0x22, 0x22, 0x22, 0x24, 0x24, + 0x44, 0x44, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, - 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x20, - 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x02, - 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, - 0x22, 0x22, 0x42, 0x22, 0x22, 0x22, 0x42, 0x42, - 0x22, 0x24, 0x22, 0x24, 0x42, 0x22, 0x24, 0x42, - 0x44, 0x44, 0x44, 0x22, 0x22, 0x22, 0x22, 0x22, - 0x22, 0x22, 0x22, 0x22, 0x22, 0x42, 0x42, 0x22, - 0x22, 0x24, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, - 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x20, - 0x44, 0x44, 0x40, 0x20, 0x44, 0x44, 0x44, 0x02, - 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, - 0x22, 0x22, 0x42, 0x22, 0x22, 0x22, 0x42, 0x42, - 0x22, 0x24, 0x22, 0x22, 0x44, 0x22, 0x44, 0x22, - 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, - 0x22, 0x42, 0x22, 0x22, 0x24, 0x42, 0x44, 0x22, - 0x22, 0x44, 0x42, 0x22, 0x22, 0x22, 0x22, 0x22, - 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x20, - 0x44, 0x44, 0x40, 0x20, 0x44, 0x44, 0x44, 0x02, - 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, - 0x22, 0x22, 0x42, 0x22, 0x22, 0x22, 0x42, 0x42, - 0x22, 0x24, 0x44, 0x22, 0x24, 0x44, 0x42, 0x22, - 0x22, 0x22, 0x22, 0x24, 0x44, 0x44, 0x44, 0x22, - 0x24, 0x44, 0x22, 0x22, 0x44, 0x42, 0x44, 0x42, - 0x24, 0x44, 0x44, 0x22, 0x24, 0x44, 0x44, 0x22, - 0x22, 0x22, 0x22, 0x22, 0x22, 0x24, 0x42, 0x20, - 0x44, 0x44, 0x40, 0x20, 0x44, 0x44, 0x44, 0x02, - 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, - 0x22, 0x22, 0x42, 0x22, 0x22, 0x22, 0x42, 0x44, - 0x44, 0x44, 0x24, 0x22, 0x22, 0x44, 0x22, 0x22, - 0x22, 0x22, 0x22, 0x22, 0x44, 0x44, 0x42, 0x22, - 0x44, 0x44, 0x42, 0x24, 0x44, 0x42, 0x44, 0x44, - 0x24, 0x42, 0x44, 0x42, 0x22, 0x22, 0x22, 0x22, - 0x44, 0x42, 0x22, 0x42, 0x22, 0x44, 0x44, 0x20, - 0x44, 0x44, 0x40, 0x20, 0x44, 0x44, 0x44, 0x02, - 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, - 0x22, 0x22, 0x42, 0x22, 0x22, 0x22, 0x42, 0x44, - 0x44, 0x44, 0x24, 0x22, 0x24, 0x44, 0x42, 0x22, - 0x22, 0x22, 0x22, 0x22, 0x24, 0x44, 0x22, 0x24, - 0x44, 0x44, 0x44, 0x22, 0x44, 0x42, 0x44, 0x42, - 0x24, 0x22, 0x24, 0x44, 0x22, 0x24, 0x22, 0x22, - 0x24, 0x22, 0x24, 0x44, 0x22, 0x44, 0x44, 0x20, - 0x44, 0x00, 0x00, 0x20, 0x04, 0x40, 0x00, 0x02, - 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, - 0x22, 0x22, 0x42, 0x22, 0x22, 0x22, 0x42, 0x22, - 0x42, 0x22, 0x24, 0x22, 0x44, 0x22, 0x44, 0x22, - 0x22, 0x22, 0x22, 0x22, 0x22, 0x42, 0x22, 0x22, - 0x22, 0x22, 0x22, 0x22, 0x24, 0x42, 0x44, 0x22, - 0x22, 0x22, 0x22, 0x44, 0x22, 0x44, 0x42, 0x22, - 0x22, 0x22, 0x22, 0x22, 0x22, 0x24, 0x42, 0x20, - 0x44, 0x04, 0x02, 0x22, 0x00, 0x00, 0x22, 0x22, - 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, - 0x22, 0x22, 0x44, 0x44, 0x44, 0x44, 0x42, 0x22, - 0x44, 0x44, 0x44, 0x24, 0x42, 0x22, 0x24, 0x42, - 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, - 0x22, 0x22, 0x22, 0x22, 0x22, 0x42, 0x42, 0x22, - 0x22, 0x22, 0x22, 0x24, 0x24, 0x44, 0x44, 0x22, - 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x20, - 0x44, 0x00, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, - 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, - 0x22, 0x22, 0x44, 0x44, 0x44, 0x44, 0x42, 0x22, - 0x44, 0x44, 0x44, 0x22, 0x22, 0x22, 0x22, 0x22, + 0x22, 0x22, 0x22, 0x22, 0x24, 0x22, 0x24, 0x22, + 0x24, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, + 0x22, 0x22, 0x22, 0x44, 0x44, 0x44, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, - 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x20, - 0x00, 0x02, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, - 0x22, 0x22, 0x32, 0x22, 0x22, 0x22, 0x22, 0x32, - 0x22, 0x22, 0x22, 0x23, 0x22, 0x22, 0x22, 0x22, - 0x32, 0x22, 0x22, 0x23, 0x22, 0x22, 0x22, 0x23, - 0x22, 0x22, 0x22, 0x23, 0x22, 0x22, 0x32, 0x22, - 0x23, 0x22, 0x22, 0x22, 0x23, 0x22, 0x22, 0x23, - 0x22, 0x22, 0x32, 0x22, 0x23, 0x22, 0x22, 0x23, - 0x22, 0x22, 0x22, 0x23, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, + 0x22, 0x22, 0x32, 0x22, 0x22, 0x22, 0x23, 0x22, + 0x22, 0x22, 0x22, 0x32, 0x22, 0x22, 0x23, 0x22, + 0x22, 0x22, 0x23, 0x22, 0x22, 0x22, 0x23, 0x22, + 0x22, 0x32, 0x22, 0x23, 0x22, 0x22, 0x22, 0x23, + 0x22, 0x22, 0x23, 0x22, 0x22, 0x32, 0x22, 0x23, + 0x22, 0x22, 0x23, 0x22, 0x22, 0x22, 0x22, 0x32, + 0x22, 0x22, 0x22, 0x23, 0x22, 0x22, 0x23, 0x22, + 0x22, 0x23, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x12, 0x22, 0x21, 0x22, 0x12, 0x22, 0x12, 0x22, 0x12, 0x22, 0x12, 0x22, 0x22, 0x12, 0x22, 0x21, 0x22, 0x22, 0x21, 0x22, @@ -265,14 +265,14 @@ u8 BuiltInFontData[] = 0x12, 0x22, 0x21, 0x22, 0x22, 0x12, 0x22, 0x21, 0x22, 0x22, 0x12, 0x22, 0x21, 0x22, 0x22, 0x12, 0x22, 0x21, 0x22, 0x12, 0x22, 0x22, 0x22, 0x22, - 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, + 0x12, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x42, 0x22, 0x24, 0x22, 0x22, - 0x42, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, + 0x42, 0x22, 0x22, 0x24, 0x44, 0x44, 0x44, 0x44, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, @@ -280,7 +280,7 @@ u8 BuiltInFontData[] = 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x24, 0x22, 0x24, 0x22, 0x22, - 0x24, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, + 0x24, 0x22, 0x22, 0x24, 0x22, 0x22, 0x22, 0x24, 0x22, 0x22, 0x22, 0x44, 0x22, 0x24, 0x42, 0x24, 0x22, 0x42, 0x22, 0x42, 0x22, 0x42, 0x22, 0x24, 0x42, 0x22, 0x42, 0x42, 0x22, 0x44, 0x22, 0x22, @@ -288,7 +288,7 @@ u8 BuiltInFontData[] = 0x22, 0x44, 0x22, 0x22, 0x22, 0x22, 0x44, 0x42, 0x22, 0x24, 0x42, 0x22, 0x44, 0x22, 0x24, 0x42, 0x22, 0x44, 0x22, 0x24, 0x22, 0x24, 0x42, 0x22, - 0x24, 0x22, 0x24, 0x22, 0x22, 0x22, 0x22, 0x22, + 0x24, 0x22, 0x24, 0x24, 0x22, 0x22, 0x22, 0x24, 0x22, 0x22, 0x24, 0x22, 0x22, 0x42, 0x22, 0x24, 0x22, 0x42, 0x22, 0x42, 0x22, 0x42, 0x22, 0x42, 0x24, 0x22, 0x42, 0x42, 0x24, 0x22, 0x42, 0x24, @@ -296,7 +296,7 @@ u8 BuiltInFontData[] = 0x24, 0x22, 0x42, 0x22, 0x42, 0x22, 0x44, 0x24, 0x22, 0x42, 0x42, 0x24, 0x24, 0x22, 0x42, 0x42, 0x24, 0x24, 0x22, 0x42, 0x42, 0x24, 0x24, 0x22, - 0x42, 0x42, 0x24, 0x22, 0x22, 0x22, 0x22, 0x22, + 0x42, 0x42, 0x24, 0x24, 0x22, 0x22, 0x22, 0x24, 0x22, 0x22, 0x24, 0x24, 0x22, 0x42, 0x42, 0x24, 0x22, 0x42, 0x22, 0x42, 0x22, 0x42, 0x22, 0x24, 0x42, 0x22, 0x42, 0x42, 0x24, 0x22, 0x42, 0x24, @@ -304,7 +304,7 @@ u8 BuiltInFontData[] = 0x24, 0x22, 0x42, 0x24, 0x44, 0x22, 0x42, 0x44, 0x22, 0x42, 0x42, 0x24, 0x24, 0x22, 0x42, 0x42, 0x24, 0x24, 0x22, 0x42, 0x42, 0x24, 0x24, 0x22, - 0x42, 0x42, 0x24, 0x22, 0x22, 0x22, 0x22, 0x22, + 0x42, 0x42, 0x24, 0x24, 0x22, 0x22, 0x22, 0x24, 0x22, 0x22, 0x22, 0x42, 0x22, 0x24, 0x22, 0x24, 0x22, 0x42, 0x22, 0x42, 0x22, 0x42, 0x22, 0x22, 0x42, 0x22, 0x44, 0x22, 0x22, 0x44, 0x22, 0x22, @@ -312,7 +312,7 @@ u8 BuiltInFontData[] = 0x22, 0x44, 0x22, 0x22, 0x42, 0x22, 0x24, 0x44, 0x22, 0x42, 0x42, 0x24, 0x24, 0x22, 0x42, 0x42, 0x24, 0x24, 0x22, 0x42, 0x42, 0x24, 0x42, 0x22, - 0x42, 0x42, 0x24, 0x22, 0x22, 0x22, 0x22, 0x22, + 0x42, 0x42, 0x24, 0x24, 0x22, 0x22, 0x22, 0x24, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x24, 0x42, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, @@ -320,7 +320,7 @@ u8 BuiltInFontData[] = 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x24, 0x22, 0x22, - 0x22, 0x22, 0x24, 0x22, 0x22, 0x22, 0x22, 0x22, + 0x22, 0x22, 0x24, 0x24, 0x22, 0x22, 0x22, 0x24, 0x22, 0x22, 0x24, 0x24, 0x22, 0x42, 0x42, 0x24, 0x22, 0x42, 0x24, 0x24, 0x24, 0x24, 0x22, 0x22, 0x22, 0x22, 0x44, 0x22, 0x22, 0x24, 0x22, 0x22, @@ -328,7 +328,7 @@ u8 BuiltInFontData[] = 0x24, 0x22, 0x42, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x42, 0x22, 0x42, 0x22, 0x42, 0x42, 0x24, 0x24, 0x22, 0x24, 0x22, 0x22, 0x22, 0x22, - 0x42, 0x42, 0x24, 0x22, 0x22, 0x22, 0x22, 0x22, + 0x42, 0x42, 0x24, 0x24, 0x44, 0x44, 0x44, 0x44, 0x22, 0x22, 0x22, 0x42, 0x22, 0x22, 0x22, 0x42, 0x22, 0x24, 0x22, 0x42, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x24, 0x42, 0x22, 0x42, 0x22, 0x22, @@ -336,7 +336,7 @@ u8 BuiltInFontData[] = 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x24, 0x22, 0x22, 0x24, 0x22, 0x24, 0x22, 0x22, 0x22, 0x22, 0x22, 0x42, 0x22, 0x22, 0x22, - 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, + 0x22, 0x22, 0x22, 0x24, 0x44, 0x44, 0x44, 0x44, 0x22, 0x22, 0x32, 0x22, 0x23, 0x22, 0x22, 0x32, 0x23, 0x22, 0x23, 0x22, 0x23, 0x22, 0x23, 0x22, 0x22, 0x23, 0x22, 0x22, 0x32, 0x22, 0x22, 0x32, @@ -344,7 +344,7 @@ u8 BuiltInFontData[] = 0x32, 0x22, 0x22, 0x32, 0x22, 0x23, 0x22, 0x22, 0x23, 0x22, 0x22, 0x32, 0x22, 0x23, 0x22, 0x22, 0x32, 0x22, 0x23, 0x22, 0x22, 0x32, 0x22, 0x23, - 0x22, 0x22, 0x32, 0x22, 0x22, 0x22, 0x22, 0x22, + 0x22, 0x22, 0x32, 0x23, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x12, 0x22, 0x22, 0x21, 0x22, 0x22, 0x12, 0x22, 0x22, 0x21, 0x22, 0x22, 0x22, 0x12, 0x22, 0x22, 0x21, 0x22, 0x22, diff --git a/source/Irrlicht/CGUIContextMenu.cpp b/source/Irrlicht/CGUIContextMenu.cpp index 01f8c0a5..95f2a7b7 100644 --- a/source/Irrlicht/CGUIContextMenu.cpp +++ b/source/Irrlicht/CGUIContextMenu.cpp @@ -20,8 +20,9 @@ namespace gui //! constructor CGUIContextMenu::CGUIContextMenu(IGUIEnvironment* environment, IGUIElement* parent, s32 id, - core::rect rectangle, bool getFocus) -: IGUIContextMenu(environment, parent, id, rectangle), HighLighted(-1), ChangeTime(0), EventParent(0) + core::rect rectangle, bool getFocus, bool allowFocus) +: IGUIContextMenu(environment, parent, id, rectangle), HighLighted(-1), + ChangeTime(0), EventParent(0), AllowFocus(allowFocus) { #ifdef _DEBUG setDebugName("CGUIContextMenu"); @@ -67,7 +68,7 @@ s32 CGUIContextMenu::addItem(const wchar_t* text, s32 id, bool enabled, bool has if (hasSubMenu) { s.SubMenu = new CGUIContextMenu(Environment, this, id, - core::rect(0,0,100,100), false); + core::rect(0,0,100,100), false, false); s.SubMenu->setVisible(false); } @@ -211,7 +212,7 @@ bool CGUIContextMenu::OnEvent(SEvent event) switch(event.GUIEvent.EventType) { case EGET_ELEMENT_FOCUS_LOST: - if (event.GUIEvent.Caller == this) + if (event.GUIEvent.Caller == this && !isMyChild(event.GUIEvent.Element)) { // set event parent of submenus setEventParent(Parent); @@ -219,6 +220,11 @@ bool CGUIContextMenu::OnEvent(SEvent event) return false; } break; + case EGET_ELEMENT_FOCUSED: + if (event.GUIEvent.Caller == this && !AllowFocus) + { + return true; + } } break; case EET_MOUSE_INPUT_EVENT: diff --git a/source/Irrlicht/CGUIContextMenu.h b/source/Irrlicht/CGUIContextMenu.h index bf019c22..ec5733d5 100644 --- a/source/Irrlicht/CGUIContextMenu.h +++ b/source/Irrlicht/CGUIContextMenu.h @@ -22,7 +22,7 @@ namespace gui //! constructor CGUIContextMenu(IGUIEnvironment* environment, IGUIElement* parent, s32 id, core::rect rectangle, - bool getFocus = true); + bool getFocus = true, bool allowFocus = true); //! destructor ~CGUIContextMenu(); @@ -131,6 +131,7 @@ namespace gui core::position2d Pos; u32 ChangeTime; IGUIElement* EventParent; + bool AllowFocus; }; } // end namespace gui diff --git a/source/Irrlicht/CGUIMenu.cpp b/source/Irrlicht/CGUIMenu.cpp index 20b79797..77cc4cc9 100644 --- a/source/Irrlicht/CGUIMenu.cpp +++ b/source/Irrlicht/CGUIMenu.cpp @@ -18,7 +18,7 @@ namespace gui //! constructor CGUIMenu::CGUIMenu(IGUIEnvironment* environment, IGUIElement* parent, s32 id, core::rect rectangle) - : CGUIContextMenu(environment, parent, id, rectangle, false) + : CGUIContextMenu(environment, parent, id, rectangle, false, true) { #ifdef _DEBUG setDebugName("CGUIMenu"); @@ -99,7 +99,7 @@ bool CGUIMenu::OnEvent(SEvent event) switch(event.GUIEvent.EventType) { case gui::EGET_ELEMENT_FOCUS_LOST: - if (event.GUIEvent.Caller == this) + if (event.GUIEvent.Caller == this && !isMyChild(event.GUIEvent.Element)) closeAllSubMenus(); break; case gui::EGET_ELEMENT_FOCUSED: diff --git a/source/Irrlicht/CGUISkin.cpp b/source/Irrlicht/CGUISkin.cpp index 3f568eda..4ce22341 100644 --- a/source/Irrlicht/CGUISkin.cpp +++ b/source/Irrlicht/CGUISkin.cpp @@ -122,8 +122,16 @@ CGUISkin::CGUISkin(EGUI_SKIN_TYPE type, video::IVideoDriver* driver) Icons[EGDI_SMALL_CURSOR_UP] = 235; Icons[EGDI_SMALL_CURSOR_DOWN] = 236; Icons[EGDI_RADIO_BUTTON_CHECKED] = 237; - Icons[EGDI_FILE] = 238; - Icons[EGDI_DIRECTORY] = 239; + Icons[EGDI_MORE_LEFT] = 238; + Icons[EGDI_MORE_RIGHT] = 239; + Icons[EGDI_MORE_UP] = 240; + Icons[EGDI_MORE_DOWN] = 241; + Icons[EGDI_WINDOW_RESIZE] = 242; + Icons[EGDI_EXPAND] = 243; + Icons[EGDI_COLLAPSE] = 244; + + Icons[EGDI_FILE] = 245; + Icons[EGDI_DIRECTORY] = 246; for (u32 i=0; iHF`UH^KPXgZb@f$n;l!JMq-u7AUyL|yWeKr?QC0@kT=>uD{4FOWtW zp299w_*qfka5w6IOkK{;k} zDlObH$l6BpQwOGs6Q=$IP;Ra$`(!RIOGc&5E?jJ4 E0Q)phs{jB1