aboutsummaryrefslogtreecommitdiff
path: root/gui/InterfaceManager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'gui/InterfaceManager.cpp')
-rw-r--r--gui/InterfaceManager.cpp51
1 files changed, 50 insertions, 1 deletions
diff --git a/gui/InterfaceManager.cpp b/gui/InterfaceManager.cpp
index dc2250a2bd..5ee3a014ed 100644
--- a/gui/InterfaceManager.cpp
+++ b/gui/InterfaceManager.cpp
@@ -38,11 +38,44 @@ namespace GUI {
using namespace Graphics;
+const char *InterfaceManager::kDrawDataStrings[] = {
+ "mainmenu_bg",
+ "special_bg",
+ "plain_bg",
+ "default_bg",
+
+ "button_idle",
+ "button_hover",
+
+ "surface",
+
+ "slider_full",
+ "slider_empty",
+
+ "checkbox_enabled",
+ "checkbox_disabled",
+
+ "tab",
+
+ "scrollbar_base",
+ "scrollbar_top",
+ "scrollbar_bottom",
+ "scrollbar_handle",
+
+ "popup",
+ "caret",
+ "separator"
+};
+
InterfaceManager::InterfaceManager() :
_vectorRenderer(0), _system(0), _graphicsMode(kGfxDisabled),
_screen(0), _bytesPerPixel(0) {
_system = g_system;
+ for (int i = 0; i < kDrawDataMAX; ++i) {
+ _widgets[i] = 0;
+ }
+
setGraphicsMode(kGfxStandard16bit);
}
@@ -78,9 +111,25 @@ void InterfaceManager::setGraphicsMode(Graphics_Mode mode) {
}
void InterfaceManager::addDrawStep(Common::String &drawDataId, Graphics::DrawStep *step) {
- _widgets[getDrawDataId(drawDataId)]->_steps.push_back(step);
+ DrawData id = getDrawDataId(drawDataId);
+
+ assert(_widgets[id] != 0);
+ _widgets[id]->_steps.push_back(step);
}
+bool InterfaceManager::addDrawData(DrawData data_id, bool cached) {
+ assert(data_id >= 0 && data_id < kDrawDataMAX);
+
+ if (_widgets[data_id] != 0)
+ return false;
+
+ _widgets[data_id] = new WidgetDrawData;
+ _widgets[data_id]->_cached = cached;
+ _widgets[data_id]->_type = data_id;
+ _widgets[data_id]->_scaled = false;
+
+ return true;
+}
bool InterfaceManager::init() {
return false;