diff options
Diffstat (limited to 'gui')
22 files changed, 3118 insertions, 305 deletions
diff --git a/gui/ThemeEval.cpp b/gui/ThemeEval.cpp index f93706cb47..2d8290ffa8 100644 --- a/gui/ThemeEval.cpp +++ b/gui/ThemeEval.cpp @@ -139,6 +139,8 @@ void ThemeLayoutVertical::reflowLayout() { _h += _children[i]->getHeight() + _spacing; } } + + _h -= _spacing; } void ThemeLayoutHorizontal::reflowLayout() { @@ -198,6 +200,8 @@ void ThemeLayoutHorizontal::reflowLayout() { _h = MAX(_h, (int16)(_children[i]->getHeight() + _paddingTop + _paddingBottom)); } + + _w -= _spacing; } ThemeEval::~ThemeEval() { diff --git a/gui/ThemeParser.cpp b/gui/ThemeParser.cpp index 3167f94009..6972d89b6f 100644 --- a/gui/ThemeParser.cpp +++ b/gui/ThemeParser.cpp @@ -375,10 +375,6 @@ bool ThemeParser::parseDrawStep(ParserNode *stepNode, Graphics::DrawStep *drawst } } - if (functionName == "bevelsq") { - __PARSER_ASSIGN_INT(extraData, "bevel", true); - } - if (functionName == "triangle") { drawstep->extraData = VectorRenderer::kTriangleUp; diff --git a/gui/ThemeParser.h b/gui/ThemeParser.h index e4821ef00f..5c6ecd6649 100644 --- a/gui/ThemeParser.h +++ b/gui/ThemeParser.h @@ -150,7 +150,6 @@ protected: XML_PROP(gradient_factor, false) XML_PROP(bevel_color, false) XML_PROP(fill, false) - XML_PROP(bevel, false) XML_PROP(radius, false) XML_PROP(width, false) XML_PROP(height, false) diff --git a/gui/ThemeRenderer.cpp b/gui/ThemeRenderer.cpp index 80e605ac85..f018910944 100644 --- a/gui/ThemeRenderer.cpp +++ b/gui/ThemeRenderer.cpp @@ -37,6 +37,8 @@ #include "gui/ThemeEval.h" #include "graphics/VectorRenderer.h" +#define GUI_ENABLE_BUILTIN_THEME + namespace GUI { using namespace Graphics; @@ -401,6 +403,9 @@ bool ThemeRenderer::loadDefaultXML() { if (!parser()->loadBuffer((const byte*)defaultXML, strlen(defaultXML), false)) return false; + + _themeName = "ScummVM Classic Theme (Builtin Version)"; + _themeFileName = "builtin"; return parser()->parse(); #else @@ -541,9 +546,9 @@ void ThemeRenderer::queueBitmap(const Graphics::Surface *bitmap, const Common::R void ThemeRenderer::drawDD(const DrawQueue &q, bool draw, bool restore) { Common::Rect extendedRect = q.area; - extendedRect.grow(kDirtyRectangleThreshold); - extendedRect.right += _widgets[q.type]->_backgroundOffset; - extendedRect.bottom += _widgets[q.type]->_backgroundOffset; + extendedRect.grow(kDirtyRectangleThreshold + _widgets[q.type]->_backgroundOffset); +// extendedRect.right += _widgets[q.type]->_backgroundOffset; +// extendedRect.bottom += _widgets[q.type]->_backgroundOffset; if (restore) restoreBackground(extendedRect); @@ -584,8 +589,11 @@ void ThemeRenderer::calcBackgroundOffset(DrawData type) { uint maxShadow = 0; for (Common::List<Graphics::DrawStep>::const_iterator step = _widgets[type]->_steps.begin(); step != _widgets[type]->_steps.end(); ++step) { - if (((*step).autoWidth || (*step).autoHeight) && (*step).shadow > maxShadow) - maxShadow = (*step).shadow; + if ((step->autoWidth || step->autoHeight) && step->shadow > maxShadow) + maxShadow = step->shadow; + + if (step->drawingCall == &Graphics::VectorRenderer::drawCallback_BEVELSQ && step->bevel > maxShadow) + maxShadow = step->bevel; } _widgets[type]->_backgroundOffset = maxShadow; diff --git a/gui/themebrowser.cpp b/gui/themebrowser.cpp index 2f1ab48f2d..490248619b 100644 --- a/gui/themebrowser.cpp +++ b/gui/themebrowser.cpp @@ -91,7 +91,7 @@ void ThemeBrowser::updateListing() { // classic is always build in Entry th; - th.name = "ScummVM Modern Theme (Builtin Version)"; + th.name = "ScummVM Classic Theme (Builtin Version)"; th.file = "builtin"; _themes.push_back(th); diff --git a/gui/themes/default.inc b/gui/themes/default.inc index 262260a7fc..d87a1f5632 100644 --- a/gui/themes/default.inc +++ b/gui/themes/default.inc @@ -1,137 +1,101 @@ "<render_info> " "<palette> " -"<color name = 'darkred' " -"rgb = '168, 42, 12' " -"/> " -"<color name = 'brightred' " -"rgb = '200, 124, 104' " -"/> " -"<color name = 'xtrabrightred' " -"rgb = '251, 241, 206' " -"/> " -"<color name = 'blandyellow' " -"rgb = '247, 228, 166' " -"/> " -"<color name = 'bgreen' " -"rgb = '96, 160, 8' " -"/> " -"<color name = 'blue' " -"rgb = '0, 255, 255' " -"/> " "<color name = 'black' " "rgb = '0, 0, 0' " "/> " -"<color name = 'white' " -"rgb = '255, 255, 255' " +"<color name = 'lightgrey' " +"rgb = '104, 104, 104' " "/> " -"<color name = 'shadowcolor' " -"rgb = '63, 60, 17' " +"<color name = 'darkgrey' " +"rgb = '64, 64, 64' " +"/> " +"<color name = 'green' " +"rgb = '32, 160, 32' " +"/> " +"<color name = 'green2' " +"rgb = '0, 255, 0' " "/> " "</palette> " -"<bitmaps> " -"<bitmap filename = 'logo.bmp'/> " -"<bitmap filename = 'cursor.bmp'/> " -"</bitmaps> " "<fonts> " "<font id = 'text_default' " "file = 'default' " -"color = 'black' " +"color = 'green' " "/> " "<font id = 'text_hover' " "file = 'default' " -"color = 'bgreen' " +"color = 'green2' " "/> " "<font id = 'text_disabled' " "file = 'default' " -"color = '128, 128, 128' " +"color = 'lightgrey' " "/> " "<font id = 'text_inverted' " "file = 'default' " -"color = '0, 0, 0' " +"color = 'black' " "/> " "<font id = 'text_button' " "file = 'default' " -"color = 'white' " +"color = 'green' " "/> " "<font id = 'text_button_hover' " "file = 'default' " -"color = 'blandyellow' " +"color = 'green2' " "/> " "<font id = 'text_normal' " -"file = 'helvr12-l1.bdf' " -"color = 'black' " +"file = 'default' " +"color = 'green' " "/> " "</fonts> " -"<defaults fill = 'gradient' fg_color = 'white' bevel_color = '237, 169, 72'/> " +"<defaults fill = 'foreground' fg_color = 'darkgrey' bg_color = 'black' shadow = '0' bevel_color = 'lightgrey'/> " "<drawdata id = 'text_selection' cache = false> " "<drawstep func = 'square' " "fill = 'foreground' " -"fg_color = 'bgreen' " +"fg_color = 'green' " "/> " "</drawdata> " "<drawdata id = 'mainmenu_bg' cache = false> " "<drawstep func = 'fill' " -"fill = 'gradient' " -"gradient_start = '208, 112, 8' " -"gradient_end = '232, 192, 16' " +"fill = 'foreground' " +"fg_color = 'black' " "/> " "</drawdata> " "<drawdata id = 'special_bg' cache = false> " -"<drawstep func = 'roundedsq' " -"radius = '4' " -"fill = 'gradient' " -"stroke = '0' " -"gradient_start = '208, 112, 8' " -"gradient_end = '232, 192, 16' " -"shadow = '3' " +"<drawstep func = 'bevelsq' " +"bevel = '2' " "/> " "</drawdata> " "<drawdata id = 'separator' cache = false> " "<drawstep func = 'square' " "fill = 'foreground' " -"height = '1' " +"height = '2' " "ypos = 'center' " -"fg_color = 'black' " +"fg_color = 'lightgrey' " "/> " "</drawdata> " "<drawdata id = 'scrollbar_base' cache = false> " -"<drawstep func = 'roundedsq' " -"stroke = 1 " -"radius = 6 " -"fill = 'background' " -"fg_color = '176, 164, 160' " -"bg_color = '240, 228, 160' " +"<drawstep func = 'bevelsq' " +"bevel = '2' " "/> " "</drawdata> " "<drawdata id = 'scrollbar_handle_hover' cache = false> " -"<drawstep func = 'roundedsq' " -"stroke = 1 " -"radius = 6 " -"fill = 'gradient' " -"fg_color = 'blandyellow' " -"gradient_start = 'xtrabrightred' " -"gradient_end = 'darkred' " +"<drawstep func = 'square' " +"fill = 'foreground' " +"fg_color = 'green2' " "/> " "</drawdata> " "<drawdata id = 'scrollbar_handle_idle' cache = false> " -"<drawstep func = 'roundedsq' " -"stroke = 1 " -"radius = 6 " -"fill = 'gradient' " -"fg_color = 'blandyellow' " -"gradient_start = 'brightred' " -"gradient_end = 'darkred' " +"<drawstep func = 'square' " +"fill = 'foreground' " +"fg_color = 'green' " "/> " "</drawdata> " "<drawdata id = 'scrollbar_button_idle' cache = false> " -"<drawstep func = 'roundedsq' " -"radius = '4' " +"<drawstep func = 'bevelsq' " +"bevel = '2' " "fill = 'none' " -"fg_color = '176, 164, 160' " -"stroke = 1 " "/> " "<drawstep func = 'triangle' " -"fg_color = '0, 0, 0' " +"fg_color = 'green' " "fill = 'foreground' " "width = 'auto' " "height = 'auto' " @@ -141,15 +105,12 @@ "/> " "</drawdata> " "<drawdata id = 'scrollbar_button_hover' cache = false> " -"<drawstep func = 'roundedsq' " -"radius = '4' " -"fill = 'background' " -"fg_color = '120, 120, 120' " -"bg_color = '206, 121, 99' " -"stroke = 1 " +"<drawstep func = 'bevelsq' " +"bevel = '2' " +"fill = 'none' " "/> " "<drawstep func = 'triangle' " -"fg_color = '0, 0, 0' " +"fg_color = 'green2' " "fill = 'foreground' " "width = 'auto' " "height = 'auto' " @@ -159,17 +120,14 @@ "/> " "</drawdata> " "<drawdata id = 'tab_active' cache = false> " -"<text font = 'text_default' " +"<text font = 'text_hover' " "vertical_align = 'center' " "horizontal_align = 'center' " "/> " "<drawstep func = 'tab' " -"radius = '4' " -"stroke = '0' " -"fill = 'gradient' " -"gradient_end = 'xtrabrightred' " -"gradient_start = 'blandyellow' " -"shadow = 3 " +"bevel = '2' " +"radius = '0' " +"fill = 'none' " "/> " "</drawdata> " "<drawdata id = 'tab_inactive' cache = false> " @@ -178,62 +136,50 @@ "horizontal_align = 'center' " "/> " "<drawstep func = 'tab' " -"radius = '4' " -"stroke = '0' " -"fill = 'foreground' " -"fg_color = '240, 205, 118' " -"shadow = 3 " +"bevel = '2' " +"radius = '0' " +"fill = 'none' " "/> " "</drawdata> " "<drawdata id = 'tab_background' cache = false> " -"<drawstep func = 'tab' " -"radius = '8' " -"stroke = '0' " -"fill = 'foreground' " -"fg_color = '232, 180, 81' " -"shadow = 3 " -"/> " "</drawdata> " "<drawdata id = 'widget_slider' cache = false> " -"<drawstep func = 'roundedsq' " -"stroke = 0 " -"radius = 4 " +"<drawstep func = 'bevelsq' " +"bevel = '2' " +"fill = 'none' " +"/> " +"</drawdata> " +"<drawdata id = 'slider_disabled' cache = false> " +"<drawstep func = 'square' " "fill = 'foreground' " -"fg_color = 'blandyellow' " -"bevel = 1 " -"bevel_color = 'shadowcolor' " +"fg_color = 'lightgrey' " "/> " "</drawdata> " "<drawdata id = 'slider_full' cache = false> " -"<drawstep func = 'roundedsq' " -"stroke = 1 " -"radius = 4 " -"fill = 'gradient' " -"fg_color = '123, 112, 56' " -"gradient_start = 'brightred' " -"gradient_end = 'darkred' " +"<drawstep func = 'square' " +"fill = 'foreground' " +"fg_color = 'green' " "/> " "</drawdata> " "<drawdata id = 'slider_hover' cache = false> " -"<drawstep func = 'roundedsq' " -"stroke = 1 " -"radius = 4 " -"fill = 'gradient' " -"fg_color = '123, 112, 56' " -"gradient_start = 'xtrabrightred' " -"gradient_end = 'darkred' " +"<drawstep func = 'square' " +"fill = 'foreground' " +"fg_color = 'green2' " +"/> " +"</drawdata> " +"<drawdata id = 'widget_small' cache = false> " +"<drawstep func = 'bevelsq' " +"bevel = '2' " +"fill = 'none' " "/> " "</drawdata> " "<drawdata id = 'popup_idle' cache = false> " -"<drawstep func = 'roundedsq' " -"stroke = 0 " -"radius = 4 " -"fill = 'foreground' " -"fg_color = '250, 237, 190' " -"shadow = 2 " +"<drawstep func = 'bevelsq' " +"bevel = '2' " +"fill = 'none' " "/> " "<drawstep func = 'triangle' " -"fg_color = '63, 60, 52' " +"fg_color = 'green' " "fill = 'foreground' " "width = 'height' " "height = 'auto' " @@ -247,16 +193,12 @@ "/> " "</drawdata> " "<drawdata id = 'popup_hover' cache = false> " -"<drawstep func = 'roundedsq' " -"stroke = 0 " -"radius = 4 " -"fill = 'gradient' " -"gradient_start = 'blandyellow' " -"gradient_end = '250, 237, 190' " -"shadow = 0 " +"<drawstep func = 'bevelsq' " +"bevel = '2' " +"fill = 'none' " "/> " "<drawstep func = 'triangle' " -"fg_color = '63, 60, 52' " +"fg_color = 'green2' " "fill = 'foreground' " "width = 'height' " "height = 'auto' " @@ -270,28 +212,25 @@ "/> " "</drawdata> " "<drawdata id = 'widget_textedit' cache = false> " -"<drawstep func = 'roundedsq' " -"fill = 'foreground' " -"radius = 4 " -"fg_color = 'blandyellow' " -"shadow = 0 " -"bevel = 1 " -"bevel_color = 'shadowcolor' " +"<drawstep func = 'bevelsq' " +"bevel = '2' " +"fill = 'none' " +"/> " +"</drawdata> " +"<drawdata id = 'plain_bg' cache = false> " +"<drawstep func = 'bevelsq' " +"bevel = '2' " "/> " "</drawdata> " "<drawdata id = 'caret' cache = false> " "<drawstep func = 'square' " "fill = 'foreground' " -"fg_color = 'black' " +"fg_color = 'lightgrey' " "/> " "</drawdata> " "<drawdata id = 'default_bg' cache = false> " -"<drawstep func = 'roundedsq' " -"radius = 12 " -"stroke = 0 " -"fg_color = 'xtrabrightred' " -"fill = 'foreground' " -"shadow = 3 " +"<drawstep func = 'bevelsq' " +"bevel = '2' " "/> " "</drawdata> " "<drawdata id = 'button_idle' cache = false> " @@ -299,15 +238,9 @@ "vertical_align = 'center' " "horizontal_align = 'center' " "/> " -"<drawstep func = 'roundedsq' " -"radius = '6' " -"stroke = 1 " -"fill = 'gradient' " -"shadow = 0 " -"fg_color = 'shadowcolor' " -"gradient_start = 'brightred' " -"gradient_end = 'darkred' " -"bevel = 1 " +"<drawstep func = 'bevelsq' " +"bevel = '2' " +"fill = 'none' " "/> " "</drawdata> " "<drawdata id = 'button_hover' cache = false> " @@ -315,17 +248,9 @@ "vertical_align = 'center' " "horizontal_align = 'center' " "/> " -"<drawstep func = 'roundedsq' " -"radius = '6' " -"gradient_factor = 1 " -"stroke = 1 " -"fill = 'gradient' " -"shadow = 0 " -"fg_color = 'shadowcolor' " -"gradient_start = 'xtrabrightred' " -"gradient_end = 'darkred' " -"bevel_color = 'xtrabrightred' " -"bevel = 1 " +"<drawstep func = 'bevelsq' " +"bevel = '2' " +"fill = 'none' " "/> " "</drawdata> " "<drawdata id = 'button_disabled' cache = false> " @@ -333,12 +258,9 @@ "vertical_align = 'center' " "horizontal_align = 'center' " "/> " -"<drawstep func = 'roundedsq' " -"radius = '8' " -"stroke = 0 " -"fill = 'foreground' " -"fg_color = '200, 200, 200' " -"shadow = 3 " +"<drawstep func = 'bevelsq' " +"bevel = '2' " +"fill = 'none' " "/> " "</drawdata> " "<drawdata id = 'checkbox_disabled' cache = false> " @@ -346,13 +268,9 @@ "vertical_align = 'top' " "horizontal_align = 'left' " "/> " -"<drawstep func = 'roundedsq' " +"<drawstep func = 'bevelsq' " +"bevel = '2' " "fill = 'none' " -"radius = 4 " -"fg_color = 'black' " -"shadow = 0 " -"bevel = 1 " -"bevel_color = 'shadowcolor' " "/> " "</drawdata> " "<drawdata id = 'checkbox_selected' cache = false> " @@ -360,15 +278,9 @@ "vertical_align = 'top' " "horizontal_align = 'left' " "/> " -"<drawstep func = 'roundedsq' " -"fill = 'gradient' " -"radius = 4 " -"fg_color = 'white' " -"gradient_start = 'brightred' " -"gradient_end = 'darkred' " -"shadow = 0 " -"bevel = 1 " -"bevel_color = 'shadowcolor' " +"<drawstep func = 'bevelsq' " +"bevel = '2' " +"fill = 'none' " "/> " "</drawdata> " "<drawdata id = 'checkbox_default' cache = false> " @@ -376,66 +288,70 @@ "vertical_align = 'top' " "horizontal_align = 'left' " "/> " -"<drawstep func = 'roundedsq' " -"fill = 'foreground' " -"radius = 4 " -"fg_color = 'blandyellow' " -"shadow = 0 " -"bevel = 1 " -"bevel_color = 'shadowcolor' " +"<drawstep func = 'bevelsq' " +"bevel = '2' " +"fill = 'none' " "/> " "</drawdata> " "<drawdata id = 'widget_default' cache = false> " -"<drawstep func = 'roundedsq' " -"gradient_factor = 6 " -"radius = '8' " -"fill = 'gradient' " -"gradient_start = '240, 224, 136' " -"gradient_end = 'xtrabrightred' " -"shadow = 3 " +"<drawstep func = 'bevelsq' " +"bevel = '2' " "/> " "</drawdata> " "</render_info> " "<layout_info> " "<globals> " -"<def var = 'Widget.Size' value = '32' /> " "<def var = 'Line.Height' value = '16' /> " "<def var = 'Font.Height' value = '16' /> " "<def var = 'TabLabelWidth' value = '110' /> " +"<def resolution = '320xY, 256x240' var = 'Line.Height' value = '12' /> " +"<def resolution = '320xY, 256x240' var = 'Font.Height' value = '10' /> " +"<def resolution = '320xY, 256x240' var = 'TabLabelWidth' value = '100' /> " "<def var = 'WidgetSize' value = 'kBigWidgetSize' /> " -"<def resolution = '320xY' var = 'WidgetSize' value = 'kNormalWidgetSize' /> " -"<def var = 'Padding.Bottom' value = '16' /> " -"<def var = 'Padding.Left' value = '16' /> " -"<def var = 'Padding.Right' value = '16' /> " -"<def var = 'Padding.Top' value = '16' /> " "<def var = 'About.OuterBorder' value = '80'/> " -"<def resolution = '320xY' var = 'About.OuterBorder' value = '16'/> " -"<def var = 'ListWidget.hlLeftPadding' value = '0'/> " -"<def var = 'ListWidget.hlRightPadding' value = '16'/> " "<def var = 'PopUpWidget.labelSpacing' value = '10' /> " -"<def var = 'ShowLauncherLogo' value = '1'/> " -"<def resolution = '320xY' var = 'ShowLauncherLogo' value = '0'/> " +"<def resolution = '320xY, 256x240' var = 'WidgetSize' value = 'kNormalWidgetSize' /> " +"<def resolution = '320xY, 256x240' var = 'About.OuterBorder' value = '10'/> " +"<def resolution = '320xY, 256x240' var = 'PopUpWidget.labelSpacing' value = '6' /> " +"<def var = 'Layout.Spacing' value = '8' /> " +"<def var = 'ShowLauncherLogo' value = '0'/> " +"<def var = 'ScummSaveLoad.ExtInfo.Visible' value = '1'/> " +"<def resolution = '320xY, 256x240' var = 'ScummSaveLoad.ExtInfo.Visible' value = '0'/> " "<widget name = 'OptionsLabel' " "size = '110, Globals.Line.Height' " "/> " "<widget name = 'SmallLabel' " "size = '24, Globals.Line.Height' " "/> " +"<widget name = 'ShortOptionsLabel' " +"size = '60, Globals.Line.Height' " +"/> " +"<widget resolution = '320xY, 256x240' name = 'ShortOptionsLabel' " +"size = '40, Globals.Line.Height' " +"/> " "<widget name = 'Button' " "size = 'kBigButtonWidth, kBigButtonHeight' " "/> " -"<widget resolution = '320xY' " -"name = 'Button' " +"<widget name = 'Slider' " +"size = 'kBigSliderWidth, kBigSliderHeight' " +"/> " +"<widget resolution = '320xY, 256x240' name = 'Button' " "size = 'kButtonWidth, kButtonHeight' " "/> " -"<widget name = 'Slider' " -"size = '128, 18' " +"<widget resolution = '320xY, 256x240' name = 'Slider' " +"size = 'kSliderWidth, kSliderHeight' " "/> " "<widget name = 'PopUp' " "size = '-1, 19' " "/> " +"<widget name = 'PopUp' resolution = '320xY, 256x240' " +"size = '-1, 15' " +"/> " "<widget name = 'Checkbox' " -"size = '-1, Globals.Line.Height' " +"size = '-1, 14' " +"/> " +"<widget name = 'Checkbox' resolution = '320xY, 256x240' " +"size = '-1, 10' " "/> " "<widget name = 'ListWidget' " "padding = '5, 0, 8, 0' " @@ -444,96 +360,106 @@ "padding = '7, 5, 0, 0' " "/> " "<widget name = 'EditTextWidget' " -"padding = '7, 5, 0, 0' " +"padding = '5, 5, 0, 0' " "/> " "<widget name = 'Console' " "padding = '7, 5, 5, 5' " "/> " -"<widget name = 'TabWidget'> " -"<child name = 'Tab' " +"<widget name = 'TabWidget.Tab' " "size = '75, 27' " "padding = '0, 0, 8, 0' " "/> " -"<child name = 'NavButton' " +"<widget name = 'TabWidget.NavButton' " "size = '15, 18' " "padding = '0, 3, 4, 0' " "/> " -"</widget> " +"<widget name = 'TabWidget.Tab' resolution = '320xY, 256x240' " +"size = '45, 16' " +"padding = '0, 0, 0, 0' " +"/> " +"<widget name = 'TabWidget.NavButton' resolution = '320xY, 256x240' " +"size = '32, 18' " +"padding = '0, 3, 4, 0' " +"/> " "</globals> " "<dialog name = 'Launcher' overlays = 'screen'> " -"<layout type = 'vertical' center = 'true' padding = '23, 23, 8, 23'> " +"<layout type = 'vertical' center = 'true' padding = '16, 16, 8, 8'> " "<widget name = 'Version' " -"width = '247' " "height = 'Globals.Line.Height' " "/> " -"<widget name = 'Logo' " -"width = '283' " -"height = '80' " -"/> " -"<layout type = 'horizontal' direction = 'right2left' padding = '0, 0, 0, 0'> " -"<layout type = 'vertical' padding = '16, 0, 0, 0'> " -"<widget name = 'StartButton' " -"type = 'Button' " -"/> " -"<space size = '16' /> " +"<widget name = 'GameList'/> " +"<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '10'> " "<widget name = 'AddGameButton' " -"type = 'Button' " +"width = '190' " +"height = '20' " "/> " "<widget name = 'EditGameButton' " -"type = 'Button' " +"width = '190' " +"height = '20' " "/> " "<widget name = 'RemoveGameButton' " -"type = 'Button' " +"width = '190' " +"height = '20' " "/> " -"<space size = '16' /> " -"<widget name = 'OptionsButton' " -"type = 'Button' " +"</layout> " +"<space size = '12'/> " +"<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '10'> " +"<widget name = 'QuitButton' " +"width = '140' " +"height = '20' " "/> " "<widget name = 'AboutButton' " -"type = 'Button' " +"width = '140' " +"height = '20' " "/> " -"<space size = '16' /> " -"<widget name = 'QuitButton' " -"type = 'Button' " +"<widget name = 'OptionsButton' " +"width = '140' " +"height = '20' " +"/> " +"<widget name = 'StartButton' " +"width = '140' " +"height = '20' " "/> " -"<space/> " -"</layout> " -"<widget name = 'GameList'/> " "</layout> " "</layout> " "</dialog> " -"<dialog resolution = '320xY' name = 'Launcher' overlays = 'screen'> " -"<layout type = 'vertical' center = 'true' padding = '8, 8, 8, 8'> " +"<dialog name = 'Launcher' overlays = 'screen' resolution = '320xY, 256x240'> " +"<layout type = 'vertical' center = 'true' padding = '8, 8, 4, 4'> " "<widget name = 'Version' " "height = 'Globals.Line.Height' " "/> " -"<widget name = 'GameList' width = '304' height = '120'/> " -"<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '6'> " +"<widget name = 'GameList'/> " +"<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '10'> " "<widget name = 'AddGameButton' " -"width = '95' " -"height = 'Globals.Button.Height' " +"width = '90' " +"height = '12' " "/> " "<widget name = 'EditGameButton' " -"width = '95' " -"height = 'Globals.Button.Height' " +"width = '90' " +"height = '12' " "/> " "<widget name = 'RemoveGameButton' " -"width = '95' " -"height = 'Globals.Button.Height' " +"width = '90' " +"height = '12' " "/> " "</layout> " -"<layout type = 'horizontal' padding = '0, 0, 0, 0'> " +"<space size = '4'/> " +"<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '10'> " "<widget name = 'QuitButton' " -"type = 'Button' " +"width = '65' " +"height = '12' " "/> " "<widget name = 'AboutButton' " -"type = 'Button' " +"width = '65' " +"height = '12' " "/> " "<widget name = 'OptionsButton' " -"type = 'Button' " +"width = '65' " +"height = '12' " "/> " "<widget name = 'StartButton' " -"type = 'Button' " +"width = '65' " +"height = '12' " "/> " "</layout> " "</layout> " @@ -575,6 +501,43 @@ "<widget name = 'TabWidget'/> " "</layout> " "</dialog> " +"<dialog name = 'Browser' overlays = 'screen' inset = '16' shading = 'dim' resolution = '320xY, 256x240'> " +"<layout type = 'vertical' padding = '8, 8, 8, 8' direction = 'bottom2top'> " +"<layout type = 'horizontal' padding = '0, 0, 16, 0' direction = 'right2left'> " +"<widget name = 'Choose' " +"type = 'Button' " +"/> " +"<widget name = 'Cancel' " +"type = 'Button' " +"/> " +"<space/> " +"<widget name = 'Up' " +"type = 'Button' " +"/> " +"</layout> " +"<widget name = 'List'/> " +"<widget name = 'Path' " +"height = 'Globals.Line.Height' " +"/> " +"<widget name = 'Headline' " +"height = 'Globals.Line.Height' " +"/> " +"</layout> " +"</dialog> " +"<dialog name = 'GlobalOptions' overlays = 'screen' inset = '16' shading = 'dim' resolution = '320xY, 256x240'> " +"<layout type = 'vertical' padding = '0, 0, 0, 0' direction = 'bottom2top'> " +"<layout type = 'horizontal' direction = 'right2left' padding = '8, 8, 8, 2'> " +"<widget name = 'Ok' " +"type = 'Button' " +"/> " +"<widget name = 'Cancel' " +"type = 'Button' " +"/> " +"<space/> " +"</layout> " +"<widget name = 'TabWidget'/> " +"</layout> " +"</dialog> " "<dialog name = 'GlobalOptions_Graphics' overlays = 'Dialog.GlobalOptions.TabWidget'> " "<layout type = 'vertical' padding = '16, 16, 16, 16' spacing = '8'> " "<widget name = 'grModePopup' " @@ -604,7 +567,7 @@ "type = 'OptionsLabel' " "/> " "<widget name = 'subToggleButton' " -"width = '150' " +"width = 'Globals.Slider.Width' " "height = 'Globals.Slider.Height' " "/> " "</layout> " @@ -689,7 +652,8 @@ "type = 'Slider' " "/> " "<widget name = 'mcMidiGainLabel' " -"type = 'SmallLabel' " +"width = '32' " +"height = 'Globals.Line.Height' " "/> " "</layout> " "</layout> " @@ -720,6 +684,14 @@ "height = 'Globals.Line.Height' " "/> " "</layout> " +"<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '16'> " +"<widget name = 'PluginsButton' " +"type = 'Button' " +"/> " +"<widget name = 'PluginsPath' " +"height = 'Globals.Line.Height' " +"/> " +"</layout> " "</layout> " "</dialog> " "<dialog name = 'GlobalOptions_Misc' overlays = 'Dialog.GlobalOptions.TabWidget'> " @@ -751,6 +723,20 @@ "<widget name = 'TabWidget'/> " "</layout> " "</dialog> " +"<dialog name = 'GameOptions' overlays = 'screen' inset = '16' shading = 'dim' resolution = '320xY, 256x240'> " +"<layout type = 'vertical' padding = '0, 0, 0, 0' direction = 'bottom2top' spacing = '16'> " +"<layout type = 'horizontal' direction = 'right2left' padding = '8, 8, 8, 2'> " +"<widget name = 'Ok' " +"type = 'Button' " +"/> " +"<widget name = 'Cancel' " +"type = 'Button' " +"/> " +"<space/> " +"</layout> " +"<widget name = 'TabWidget'/> " +"</layout> " +"</dialog> " "<dialog name = 'GameOptions_Graphics' overlays = 'Dialog.GlobalOptions.TabWidget'> " "<layout type = 'vertical' padding = '16, 16, 16, 16' spacing = '8'> " "<widget name = 'EnableTabCheckbox' " @@ -787,7 +773,7 @@ "<layout type = 'vertical' padding = '16, 16, 16, 16'> " "<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '16'> " "<widget name = 'Id' " -"type = 'OptionsLabel' " +"type = 'ShortOptionsLabel' " "/> " "<widget name = 'Domain' " "type = 'PopUp' " @@ -795,7 +781,7 @@ "</layout> " "<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '16'> " "<widget name = 'Name' " -"type = 'OptionsLabel' " +"type = 'ShortOptionsLabel' " "/> " "<widget name = 'Desc' " "type = 'PopUp' " @@ -955,4 +941,26 @@ "</layout> " "</layout> " "</dialog> " +"<dialog name = 'ScummHelp' overlays = 'screen_center'> " +"<layout type = 'vertical' padding = '8, 8, 8, 8' direction = 'bottom2top'> " +"<layout type = 'horizontal' padding = '0, 0, 16, 0'> " +"<widget name = 'Prev' " +"type = 'Button' " +"/> " +"<widget name = 'Next' " +"type = 'Button' " +"/> " +"<space size = '32'/> " +"<widget name = 'Close' " +"type = 'Button' " +"/> " +"</layout> " +"<widget name = 'HelpText' " +"height = '220' " +"/> " +"<widget name = 'Title' " +"height = 'Globals.Line.Height' " +"/> " +"</layout> " +"</dialog> " "</layout_info> " diff --git a/gui/themes/makedeftheme.py b/gui/themes/makedeftheme.py deleted file mode 100644 index c2ece4c26b..0000000000 --- a/gui/themes/makedeftheme.py +++ /dev/null @@ -1,26 +0,0 @@ -#!/usr/bin/env python -# encoding: utf-8 -import sys -import re - -def main(): - theme_file = open(sys.argv[1], "r") - def_file = open("default.inc", "w") - comm = re.compile("\/\*(.*?)\*\/", re.DOTALL) - - try: - output = "" - for line in theme_file: - output += line.rstrip("\r\n\t ").lstrip() + " \n" - - output = re.sub(comm, "", output).replace("\t", " ").replace(" ", " ").splitlines() - - for line in output: - if line and not line.isspace(): - def_file.write("\"" + line + "\"\n") - finally: - theme_file.close() - def_file.close() - -if __name__ == "__main__": - sys.exit(main()) diff --git a/gui/themes/scummodern.stx b/gui/themes/scummclassic.zip Binary files differindex 5399ed62f0..653f789baf 100644 --- a/gui/themes/scummodern.stx +++ b/gui/themes/scummclassic.zip diff --git a/gui/themes/scummclassic/THEMERC b/gui/themes/scummclassic/THEMERC new file mode 100644 index 0000000000..df6c0508b2 --- /dev/null +++ b/gui/themes/scummclassic/THEMERC @@ -0,0 +1 @@ +[SCUMMVM_THEME_V23:ScummVM Classic Theme:No Author]
\ No newline at end of file diff --git a/gui/themes/scummclassic/classic_gfx.stx b/gui/themes/scummclassic/classic_gfx.stx new file mode 100644 index 0000000000..66c442066d --- /dev/null +++ b/gui/themes/scummclassic/classic_gfx.stx @@ -0,0 +1,360 @@ +/* ScummVM - Graphic Adventure Engine + * + * ScummVM is the legal property of its developers, whose names + * are too numerous to list here. Please refer to the COPYRIGHT + * file distributed with this source distribution. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * $URL$ + * $Id$ + * + */ + +<render_info> + <palette> + <color name = 'black' + rgb = '0, 0, 0' + /> + <color name = 'lightgrey' + rgb = '104, 104, 104' + /> + <color name = 'darkgrey' + rgb = '64, 64, 64' + /> + <color name = 'green' + rgb = '32, 160, 32' + /> + <color name = 'green2' + rgb = '0, 255, 0' + /> + </palette> + + <fonts> + <font id = 'text_default' + file = 'default' + color = 'green' + /> + <font id = 'text_hover' + file = 'default' + color = 'green2' + /> + <font id = 'text_disabled' + file = 'default' + color = 'lightgrey' + /> + <font id = 'text_inverted' + file = 'default' + color = 'black' + /> + <font id = 'text_button' + file = 'default' + color = 'green' + /> + <font id = 'text_button_hover' + file = 'default' + color = 'green2' + /> + <font id = 'text_normal' + file = 'default' + color = 'green' + /> + </fonts> + + <defaults fill = 'foreground' fg_color = 'darkgrey' bg_color = 'black' shadow = '0' bevel_color = 'lightgrey'/> + + <drawdata id = 'text_selection' cache = false> + <drawstep func = 'square' + fill = 'foreground' + fg_color = 'green' + /> + </drawdata> + + <drawdata id = 'mainmenu_bg' cache = false> + <drawstep func = 'fill' + fill = 'foreground' + fg_color = 'black' + /> + </drawdata> + + <drawdata id = 'special_bg' cache = false> + <drawstep func = 'bevelsq' + bevel = '2' + /> + </drawdata> + + <drawdata id = 'separator' cache = false> + <drawstep func = 'square' + fill = 'foreground' + height = '2' + ypos = 'center' + fg_color = 'lightgrey' + /> + </drawdata> + + <drawdata id = 'scrollbar_base' cache = false> + <drawstep func = 'bevelsq' + bevel = '2' + /> + </drawdata> + + <drawdata id = 'scrollbar_handle_hover' cache = false> + <drawstep func = 'square' + fill = 'foreground' + fg_color = 'green2' + /> + </drawdata> + + <drawdata id = 'scrollbar_handle_idle' cache = false> + <drawstep func = 'square' + fill = 'foreground' + fg_color = 'green' + /> + </drawdata> + + <drawdata id = 'scrollbar_button_idle' cache = false> + <drawstep func = 'bevelsq' + bevel = '2' + fill = 'none' + /> + <drawstep func = 'triangle' + fg_color = 'green' + fill = 'foreground' + width = 'auto' + height = 'auto' + xpos = 'center' + ypos = 'center' + orientation = 'top' + /> + </drawdata> + + <drawdata id = 'scrollbar_button_hover' cache = false> + <drawstep func = 'bevelsq' + bevel = '2' + fill = 'none' + /> + <drawstep func = 'triangle' + fg_color = 'green2' + fill = 'foreground' + width = 'auto' + height = 'auto' + xpos = 'center' + ypos = 'center' + orientation = 'top' + /> + </drawdata> + + <drawdata id = 'tab_active' cache = false> + <text font = 'text_hover' + vertical_align = 'center' + horizontal_align = 'center' + /> + <drawstep func = 'tab' + bevel = '2' + radius = '0' + fill = 'none' + /> + </drawdata> + + <drawdata id = 'tab_inactive' cache = false> + <text font = 'text_default' + vertical_align = 'center' + horizontal_align = 'center' + /> + <drawstep func = 'tab' + bevel = '2' + radius = '0' + fill = 'none' + /> + </drawdata> + + <drawdata id = 'tab_background' cache = false> + </drawdata> + + <drawdata id = 'widget_slider' cache = false> + <drawstep func = 'bevelsq' + bevel = '2' + fill = 'none' + /> + </drawdata> + + <drawdata id = 'slider_disabled' cache = false> + <drawstep func = 'square' + fill = 'foreground' + fg_color = 'lightgrey' + /> + </drawdata> + + <drawdata id = 'slider_full' cache = false> + <drawstep func = 'square' + fill = 'foreground' + fg_color = 'green' + /> + </drawdata> + + <drawdata id = 'slider_hover' cache = false> + <drawstep func = 'square' + fill = 'foreground' + fg_color = 'green2' + /> + </drawdata> + + <drawdata id = 'widget_small' cache = false> + <drawstep func = 'bevelsq' + bevel = '2' + fill = 'none' + /> + </drawdata> + + <drawdata id = 'popup_idle' cache = false> + <drawstep func = 'bevelsq' + bevel = '2' + fill = 'none' + /> + <drawstep func = 'triangle' + fg_color = 'green' + fill = 'foreground' + width = 'height' + height = 'auto' + xpos = 'right' + ypos = 'center' + orientation = 'bottom' + /> + <text font = 'text_default' + vertical_align = 'center' + horizontal_align = 'right' + /> + </drawdata> + + + <drawdata id = 'popup_hover' cache = false> + <drawstep func = 'bevelsq' + bevel = '2' + fill = 'none' + /> + <drawstep func = 'triangle' + fg_color = 'green2' + fill = 'foreground' + width = 'height' + height = 'auto' + xpos = 'right' + ypos = 'center' + orientation = 'bottom' + /> + <text font = 'text_hover' + vertical_align = 'center' + horizontal_align = 'right' + /> + </drawdata> + + <drawdata id = 'widget_textedit' cache = false> + <drawstep func = 'bevelsq' + bevel = '2' + fill = 'none' + /> + </drawdata> + + <drawdata id = 'plain_bg' cache = false> + <drawstep func = 'bevelsq' + bevel = '2' + /> + </drawdata> + + <drawdata id = 'caret' cache = false> + <drawstep func = 'square' + fill = 'foreground' + fg_color = 'lightgrey' + /> + </drawdata> + + <drawdata id = 'default_bg' cache = false> + <drawstep func = 'bevelsq' + bevel = '2' + /> + </drawdata> + + <drawdata id = 'button_idle' cache = false> + <text font = 'text_button' + vertical_align = 'center' + horizontal_align = 'center' + /> + <drawstep func = 'bevelsq' + bevel = '2' + fill = 'none' + /> + </drawdata> + + <drawdata id = 'button_hover' cache = false> + <text font = 'text_button_hover' + vertical_align = 'center' + horizontal_align = 'center' + /> + <drawstep func = 'bevelsq' + bevel = '2' + fill = 'none' + /> + </drawdata> + + <drawdata id = 'button_disabled' cache = false> + <text font = 'text_disabled' + vertical_align = 'center' + horizontal_align = 'center' + /> + <drawstep func = 'bevelsq' + bevel = '2' + fill = 'none' + /> + </drawdata> + + <drawdata id = 'checkbox_disabled' cache = false> + <text font = 'text_disabled' + vertical_align = 'top' + horizontal_align = 'left' + /> + <drawstep func = 'bevelsq' + bevel = '2' + fill = 'none' + /> + </drawdata> + + <drawdata id = 'checkbox_selected' cache = false> + <text font = 'text_default' + vertical_align = 'top' + horizontal_align = 'left' + /> + <drawstep func = 'bevelsq' + bevel = '2' + fill = 'none' + /> +/* TODO */ + </drawdata> + + <drawdata id = 'checkbox_default' cache = false> + <text font = 'text_default' + vertical_align = 'top' + horizontal_align = 'left' + /> + <drawstep func = 'bevelsq' + bevel = '2' + fill = 'none' + /> + </drawdata> + + <drawdata id = 'widget_default' cache = false> + <drawstep func = 'bevelsq' + bevel = '2' + /> + </drawdata> +</render_info>
\ No newline at end of file diff --git a/gui/themes/scummclassic/classic_layout.stx b/gui/themes/scummclassic/classic_layout.stx new file mode 100644 index 0000000000..bfb09a511b --- /dev/null +++ b/gui/themes/scummclassic/classic_layout.stx @@ -0,0 +1,730 @@ +/* ScummVM - Graphic Adventure Engine + * + * ScummVM is the legal property of its developers, whose names + * are too numerous to list here. Please refer to the COPYRIGHT + * file distributed with this source distribution. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * $URL$ + * $Id$ + * + */ + +<layout_info> + <globals> + <def var = 'Line.Height' value = '16' /> + <def var = 'Font.Height' value = '16' /> + <def var = 'TabLabelWidth' value = '110' /> + + <def resolution = "320xY, 256x240" var = 'Line.Height' value = '12' /> + <def resolution = "320xY, 256x240" var = 'Font.Height' value = '10' /> + <def resolution = "320xY, 256x240" var = 'TabLabelWidth' value = '100' /> + + <def var = 'WidgetSize' value = 'kBigWidgetSize' /> + <def var = 'About.OuterBorder' value = '80'/> + <def var = 'PopUpWidget.labelSpacing' value = '10' /> + + <def resolution = "320xY, 256x240" var = 'WidgetSize' value = 'kNormalWidgetSize' /> + <def resolution = "320xY, 256x240" var = 'About.OuterBorder' value = '10'/> + <def resolution = "320xY, 256x240" var = 'PopUpWidget.labelSpacing' value = '6' /> + + <def var = 'Layout.Spacing' value = '8' /> + <def var = 'ShowLauncherLogo' value = '0'/> + + <def var = 'ScummSaveLoad.ExtInfo.Visible' value = '1'/> + <def resolution = "320xY, 256x240" var = 'ScummSaveLoad.ExtInfo.Visible' value = '0'/> + + <widget name = 'OptionsLabel' + size = '110, Globals.Line.Height' + /> + <widget name = 'SmallLabel' + size = '24, Globals.Line.Height' + /> + + <widget name = 'ShortOptionsLabel' + size = '60, Globals.Line.Height' + /> + <widget resolution = "320xY, 256x240" name = 'ShortOptionsLabel' + size = '40, Globals.Line.Height' + /> + + + <widget name = 'Button' + size = 'kBigButtonWidth, kBigButtonHeight' + /> + <widget name = 'Slider' + size = 'kBigSliderWidth, kBigSliderHeight' + /> + + <widget resolution = "320xY, 256x240" name = 'Button' + size = 'kButtonWidth, kButtonHeight' + /> + <widget resolution = "320xY, 256x240" name = 'Slider' + size = 'kSliderWidth, kSliderHeight' + /> + + <widget name = 'PopUp' + size = '-1, 19' + /> + <widget name = 'PopUp' resolution = "320xY, 256x240" + size = '-1, 15' + /> + + <widget name = 'Checkbox' + size = '-1, 14' + /> + <widget name = 'Checkbox' resolution = "320xY, 256x240" + size = '-1, 10' + /> + + <widget name = 'ListWidget' + padding = '5, 0, 8, 0' + /> + <widget name = 'PopUpWidget' + padding = '7, 5, 0, 0' + /> + <widget name = 'EditTextWidget' + padding = '5, 5, 0, 0' + /> + <widget name = 'Console' + padding = '7, 5, 5, 5' + /> + <widget name = 'TabWidget.Tab' + size = '75, 27' + padding = '0, 0, 8, 0' + /> + <widget name = 'TabWidget.NavButton' + size = '15, 18' + padding = '0, 3, 4, 0' + /> + + <widget name = 'TabWidget.Tab' resolution = "320xY, 256x240" + size = '45, 16' + padding = '0, 0, 0, 0' + /> + <widget name = 'TabWidget.NavButton' resolution = "320xY, 256x240" + size = '32, 18' + padding = '0, 3, 4, 0' + /> + </globals> + + <dialog name = 'Launcher' overlays = 'screen'> + <layout type = 'vertical' center = 'true' padding = '16, 16, 8, 8'> + <widget name = 'Version' + height = 'Globals.Line.Height' + /> + <widget name = 'GameList'/> + <layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '10'> + <widget name = 'AddGameButton' + width = '190' + height = '20' + /> + <widget name = 'EditGameButton' + width = '190' + height = '20' + /> + <widget name = 'RemoveGameButton' + width = '190' + height = '20' + /> + </layout> + <space size = '12'/> + <layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '10'> + <widget name = 'QuitButton' + width = '140' + height = '20' + /> + <widget name = 'AboutButton' + width = '140' + height = '20' + /> + <widget name = 'OptionsButton' + width = '140' + height = '20' + /> + <widget name = 'StartButton' + width = '140' + height = '20' + /> + </layout> + </layout> + </dialog> + + <dialog name = 'Launcher' overlays = 'screen' resolution = "320xY, 256x240"> + <layout type = 'vertical' center = 'true' padding = '8, 8, 4, 4'> + <widget name = 'Version' + height = 'Globals.Line.Height' + /> + <widget name = 'GameList'/> + <layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '10'> + <widget name = 'AddGameButton' + width = '90' + height = '12' + /> + <widget name = 'EditGameButton' + width = '90' + height = '12' + /> + <widget name = 'RemoveGameButton' + width = '90' + height = '12' + /> + </layout> + <space size = '4'/> + <layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '10'> + <widget name = 'QuitButton' + width = '65' + height = '12' + /> + <widget name = 'AboutButton' + width = '65' + height = '12' + /> + <widget name = 'OptionsButton' + width = '65' + height = '12' + /> + <widget name = 'StartButton' + width = '65' + height = '12' + /> + </layout> + </layout> + </dialog> + + <dialog name = 'Browser' overlays = 'Dialog.Launcher.GameList' shading = 'dim'> + <layout type = 'vertical' padding = '8, 8, 8, 8' direction = 'bottom2top'> + <layout type = 'horizontal' padding = '0, 0, 16, 0' direction = 'right2left'> + <widget name = 'Choose' + type = 'Button' + /> + <widget name = 'Cancel' + type = 'Button' + /> + <space/> + <widget name = 'Up' + type = 'Button' + /> + </layout> + <widget name = 'List'/> + <widget name = 'Path' + height = 'Globals.Line.Height' + /> + <widget name = 'Headline' + height = 'Globals.Line.Height' + /> + </layout> + </dialog> + + <dialog name = 'GlobalOptions' overlays = 'Dialog.Launcher.GameList' shading = 'dim'> + <layout type = 'vertical' padding = '0, 0, 0, 0' direction = 'bottom2top'> + <layout type = 'horizontal' direction = 'right2left' padding = '16, 16, 16, 16'> + <widget name = 'Ok' + type = 'Button' + /> + <widget name = 'Cancel' + type = 'Button' + /> + <space/> + </layout> + <widget name = 'TabWidget'/> + </layout> + </dialog> + + <dialog name = 'Browser' overlays = 'screen' inset = '16' shading = 'dim' resolution = "320xY, 256x240"> + <layout type = 'vertical' padding = '8, 8, 8, 8' direction = 'bottom2top'> + <layout type = 'horizontal' padding = '0, 0, 16, 0' direction = 'right2left'> + <widget name = 'Choose' + type = 'Button' + /> + <widget name = 'Cancel' + type = 'Button' + /> + <space/> + <widget name = 'Up' + type = 'Button' + /> + </layout> + <widget name = 'List'/> + <widget name = 'Path' + height = 'Globals.Line.Height' + /> + <widget name = 'Headline' + height = 'Globals.Line.Height' + /> + </layout> + </dialog> + + <dialog name = 'GlobalOptions' overlays = 'screen' inset = '16' shading = 'dim' resolution = "320xY, 256x240"> + <layout type = 'vertical' padding = '0, 0, 0, 0' direction = 'bottom2top'> + <layout type = 'horizontal' direction = 'right2left' padding = '8, 8, 8, 2'> + <widget name = 'Ok' + type = 'Button' + /> + <widget name = 'Cancel' + type = 'Button' + /> + <space/> + </layout> + <widget name = 'TabWidget'/> + </layout> + </dialog> + + + + <dialog name = 'GlobalOptions_Graphics' overlays = 'Dialog.GlobalOptions.TabWidget'> + <layout type = 'vertical' padding = '16, 16, 16, 16' spacing = '8'> + <widget name = 'grModePopup' + type = 'PopUp' + /> + <widget name = 'grRenderPopup' + type = 'PopUp' + /> + <widget name = 'grAspectCheckbox' + type = 'Checkbox' + /> + <widget name = 'grFullscreenCheckbox' + type = 'Checkbox' + /> + </layout> + </dialog> + + <dialog name = 'GlobalOptions_Audio' overlays = 'Dialog.GlobalOptions.TabWidget'> + <layout type = 'vertical' padding = '16, 16, 16, 16' spacing = '8'> + <widget name = 'auMidiPopup' + type = 'PopUp' + /> + <widget name = 'auSampleRatePopup' + type = 'PopUp' + /> + <layout type = 'horizontal' padding = '0, 0, 0, 0'> + <widget name = 'subToggleDesc' + type = 'OptionsLabel' + /> + <widget name = 'subToggleButton' + width = 'Globals.Slider.Width' + height = 'Globals.Slider.Height' + /> + </layout> + <layout type = 'horizontal' padding = '0, 0, 0, 0'> + <widget name = 'subSubtitleSpeedDesc' + type = 'OptionsLabel' + /> + <widget name = 'subSubtitleSpeedSlider' + type = 'Slider' + /> + <widget name = 'subSubtitleSpeedLabel' + type = 'SmallLabel' + /> + </layout> + </layout> + </dialog> + + <dialog name = 'GlobalOptions_Volume' overlays = 'Dialog.GlobalOptions.TabWidget'> + <layout type = 'vertical' padding = '16, 16, 16, 16' spacing = '8'> + <layout type = 'horizontal' padding = '0, 0, 0, 0'> + <widget name = 'vcMusicText' + type = 'OptionsLabel' + /> + <widget name = 'vcMusicSlider' + type = 'Slider' + /> + <widget name = 'vcMusicLabel' + type = 'SmallLabel' + /> + </layout> + <layout type = 'horizontal' padding = '0, 0, 0, 0'> + <widget name = 'vcSfxText' + type = 'OptionsLabel' + /> + <widget name = 'vcSfxSlider' + type = 'Slider' + /> + <widget name = 'vcSfxLabel' + type = 'SmallLabel' + /> + </layout> + <layout type = 'horizontal' padding = '0, 0, 0, 0'> + <widget name = 'vcSpeechText' + type = 'OptionsLabel' + /> + <widget name = 'vcSpeechSlider' + type = 'Slider' + /> + <widget name = 'vcSpeechLabel' + type = 'SmallLabel' + /> + </layout> + </layout> + </dialog> + + <dialog name = 'GlobalOptions_MIDI' overlays = 'Dialog.GlobalOptions.TabWidget'> + <layout type = 'vertical' padding = '16, 16, 16, 16' spacing = '8'> + <layout type = 'horizontal' padding = '0, 0, 0, 0'> + <widget name = 'mcFontButton' + type = 'Button' + /> + <widget name = 'mcFontClearButton' + height = 'Globals.Line.Height' + width = 'Globals.Line.Height' + /> + <widget name = 'mcFontPath' + height = 'Globals.Line.Height' + /> + </layout> + <widget name = 'mcMixedCheckbox' + type = 'Checkbox' + /> + <widget name = 'mcMt32Checkbox' + type = 'Checkbox' + /> + <widget name = 'mcGSCheckbox' + type = 'Checkbox' + /> + <layout type = 'horizontal' padding = '0, 0, 0, 0'> + <widget name = 'mcMidiGainText' + type = 'OptionsLabel' + /> + <widget name = 'mcMidiGainSlider' + type = 'Slider' + /> + <widget name = 'mcMidiGainLabel' + width = '32' + height = 'Globals.Line.Height' + /> + </layout> + </layout> + </dialog> + + <dialog name = 'GlobalOptions_Paths' overlays = 'Dialog.GlobalOptions.TabWidget'> + <layout type = 'vertical' padding = '16, 16, 16, 16' spacing = '8'> + <layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '16'> + <widget name = 'SaveButton' + type = 'Button' + /> + <widget name = 'SavePath' + height = 'Globals.Line.Height' + /> + </layout> + <layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '16'> + <widget name = 'ThemeButton' + type = 'Button' + /> + <widget name = 'ThemePath' + height = 'Globals.Line.Height' + /> + </layout> + <layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '16'> + <widget name = 'ExtraButton' + type = 'Button' + /> + <widget name = 'ExtraPath' + height = 'Globals.Line.Height' + /> + </layout> + <layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '16'> + <widget name = 'PluginsButton' + type = 'Button' + /> + <widget name = 'PluginsPath' + height = 'Globals.Line.Height' + /> + </layout> + </layout> + </dialog> + + <dialog name = 'GlobalOptions_Misc' overlays = 'Dialog.GlobalOptions.TabWidget'> + <layout type = 'vertical' padding = '16, 16, 16, 16' spacing = '8'> + <layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '16'> + <widget name = 'ThemeButton' + type = 'Button' + /> + <widget name = 'CurTheme' + height = 'Globals.Line.Height' + /> + </layout> + <widget name = 'AutosavePeriod' + type = 'PopUp' + /> + </layout> + </dialog> + + <dialog name = 'GameOptions' overlays = 'Dialog.Launcher.GameList' shading = 'dim'> + <layout type = 'vertical' padding = '0, 0, 0, 0' direction = 'bottom2top' spacing = '16'> + <layout type = 'horizontal' direction = 'right2left' padding = '16, 16, 16, 16'> + <widget name = 'Ok' + type = 'Button' + /> + <widget name = 'Cancel' + type = 'Button' + /> + <space/> + </layout> + <widget name = 'TabWidget'/> + </layout> + </dialog> + + <dialog name = 'GameOptions' overlays = 'screen' inset = '16' shading = 'dim' resolution = "320xY, 256x240"> + <layout type = 'vertical' padding = '0, 0, 0, 0' direction = 'bottom2top' spacing = '16'> + <layout type = 'horizontal' direction = 'right2left' padding = '8, 8, 8, 2'> + <widget name = 'Ok' + type = 'Button' + /> + <widget name = 'Cancel' + type = 'Button' + /> + <space/> + </layout> + <widget name = 'TabWidget'/> + </layout> + </dialog> + + <dialog name = 'GameOptions_Graphics' overlays = 'Dialog.GlobalOptions.TabWidget'> + <layout type = 'vertical' padding = '16, 16, 16, 16' spacing = '8'> + <widget name = 'EnableTabCheckbox' + type = 'Checkbox' + /> + <import layout = 'Dialog.GlobalOptions_Graphics' /> + </layout> + </dialog> + + <dialog name = 'GameOptions_Audio' overlays = 'Dialog.GlobalOptions.TabWidget'> + <layout type = 'vertical' padding = '16, 16, 16, 16' spacing = '8'> + <widget name = 'EnableTabCheckbox' + type = 'Checkbox' + /> + <import layout = 'Dialog.GlobalOptions_Audio' /> + </layout> + </dialog> + + <dialog name = 'GameOptions_MIDI' overlays = 'Dialog.GlobalOptions.TabWidget'> + <layout type = 'vertical' padding = '16, 16, 16, 16' spacing = '8'> + <widget name = 'EnableTabCheckbox' + type = 'Checkbox' + /> + <import layout = 'Dialog.GlobalOptions_MIDI' /> + </layout> + </dialog> + + <dialog name = 'GameOptions_Volume' overlays = 'Dialog.GlobalOptions.TabWidget'> + <layout type = 'vertical' padding = '16, 16, 16, 16' spacing = '8'> + <widget name = 'EnableTabCheckbox' + type = 'Checkbox' + /> + <import layout = 'Dialog.GlobalOptions_Volume' /> + </layout> + </dialog> + + <dialog name = 'GameOptions_Game' overlays = 'Dialog.GameOptions.TabWidget' shading = 'dim'> + <layout type = 'vertical' padding = '16, 16, 16, 16'> + <layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '16'> + <widget name = 'Id' + type = 'ShortOptionsLabel' + /> + <widget name = 'Domain' + type = 'PopUp' + /> + </layout> + <layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '16'> + <widget name = 'Name' + type = 'ShortOptionsLabel' + /> + <widget name = 'Desc' + type = 'PopUp' + /> + </layout> + <widget name = 'Lang' + type = 'PopUp' + /> + <widget name = 'Platform' + type = 'PopUp' + /> + </layout> + </dialog> + + <dialog name = 'GameOptions_Paths' overlays = 'Dialog.GameOptions.TabWidget' shading = 'dim'> + <layout type = 'vertical' padding = '16, 16, 16, 16'> + <layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '16' center = 'true'> + <widget name = 'Savepath' + type = 'Button' + /> + <widget name = 'SavepathText' + height = 'Globals.Line.Height' + /> + </layout> + <layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '16' center = 'true'> + <widget name = 'Extrapath' + type = 'Button' + /> + <widget name = 'ExtrapathText' + height = 'Globals.Line.Height' + /> + </layout> + <layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '16' center = 'true'> + <widget name = 'Gamepath' + type = 'Button' + /> + <widget name = 'GamepathText' + height = 'Globals.Line.Height' + /> + </layout> + </layout> + </dialog> + + <dialog name = 'ScummMain' overlays = 'screen_center'> + <layout type = 'vertical' padding = '8, 8, 8, 8'> + <widget name = 'Resume' + type = 'Button' + /> + <space size = '15'/> + <widget name = 'Load' + type = 'Button' + /> + <widget name = 'Save' + type = 'Button' + /> + <space size = '15'/> + <widget name = 'Options' + type = 'Button' + /> + <widget name = 'Help' + type = 'Button' + /> + <widget name = 'About' + type = 'Button' + /> + <space size = '15'/> + <widget name = 'Quit' + type = 'Button' + /> + </layout> + </dialog> + + <dialog name = 'ScummConfig' overlays = 'screen_center'> + <layout type = 'vertical' padding = '8, 8, 8, 8' center = 'true' direction = 'bottom2top'> + <layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '8'> + <space size = 'Globals.Button.Width' /> + <widget name = 'Cancel' + type = 'Button' + /> + <widget name = 'Ok' + type = 'Button' + /> + </layout> + <space size = '100'/> + <layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '8'> + <widget name = 'subSubtitleSpeedDesc' + type = 'OptionsLabel' + /> + <widget name = 'subSubtitleSpeedSlider' + type = 'Slider' + /> + <widget name = 'subSubtitleSpeedLabel' + type = 'SmallLabel' + /> + </layout> + <layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '8'> + <widget name = 'subToggleDesc' + type = 'OptionsLabel' + /> + <widget name = 'subToggleButton' + width = '158' + height = 'Globals.Slider.Height' + /> + </layout> + <layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '8'> + <widget name = 'vcSpeechText' + type = 'OptionsLabel' + /> + <widget name = 'vcSpeechSlider' + type = 'Slider' + /> + <widget name = 'vcSpeechLabel' + type = 'SmallLabel' + /> + </layout> + <layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '8'> + <widget name = 'vcSfxText' + type = 'OptionsLabel' + /> + <widget name = 'vcSfxSlider' + type = 'Slider' + /> + <widget name = 'vcSfxLabel' + type = 'SmallLabel' + /> + </layout> + <layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '8'> + <widget name = 'vcMusicText' + type = 'OptionsLabel' + /> + <widget name = 'vcMusicSlider' + type = 'Slider' + /> + <widget name = 'vcMusicLabel' + type = 'SmallLabel' + /> + </layout> + </layout> + </dialog> + + <dialog name = 'ScummSaveLoad' overlays = 'screen'> + <layout type = 'vertical' padding = '8, 8, 8, 8' center = 'true' direction = 'bottom2top'> + <layout type = 'horizontal' padding = '0, 0, 16, 0' direction = 'right2left'> + <widget name = 'Choose' + type = 'Button' + /> + <widget name = 'Cancel' + type = 'Button' + /> + <space/> + </layout> + <layout type = 'horizontal' padding = '0, 0, 0, 0' direction = 'right2left' spacing = '16'> + <layout type = 'vertical' padding = '0, 0, 0, 0'> + <widget name = 'Thumbnail' + width = '180' + height = '200' + /> + <space/> + </layout> + <widget name = 'List' /> + </layout> + </layout> + </dialog> + + <dialog name = 'ScummHelp' overlays = 'screen_center'> + <layout type = 'vertical' padding = '8, 8, 8, 8' direction = 'bottom2top'> + <layout type = 'horizontal' padding = '0, 0, 16, 0'> + <widget name = 'Prev' + type = 'Button' + /> + <widget name = 'Next' + type = 'Button' + /> + <space size = '32'/> + <widget name = 'Close' + type = 'Button' + /> + </layout> + <widget name = 'HelpText' + height = '220' + /> + <widget name = 'Title' + height = 'Globals.Line.Height' + /> + </layout> + </dialog> +</layout_info>
\ No newline at end of file diff --git a/gui/themes/scummodern.zip b/gui/themes/scummodern.zip Binary files differindex 66e0a736e8..1cd8471709 100644 --- a/gui/themes/scummodern.zip +++ b/gui/themes/scummodern.zip diff --git a/gui/themes/scummodern/THEMERC b/gui/themes/scummodern/THEMERC new file mode 100644 index 0000000000..d11c959867 --- /dev/null +++ b/gui/themes/scummodern/THEMERC @@ -0,0 +1 @@ +[SCUMMVM_THEME_V23:ScummVM Modern Theme:No Author]
\ No newline at end of file diff --git a/gui/themes/scummodern/checkbox.bmp b/gui/themes/scummodern/checkbox.bmp Binary files differnew file mode 100644 index 0000000000..a0b91b569f --- /dev/null +++ b/gui/themes/scummodern/checkbox.bmp diff --git a/gui/themes/scummodern/cursor.bmp b/gui/themes/scummodern/cursor.bmp Binary files differnew file mode 100644 index 0000000000..e7bdb60cad --- /dev/null +++ b/gui/themes/scummodern/cursor.bmp diff --git a/gui/themes/scummodern/cursor_small.bmp b/gui/themes/scummodern/cursor_small.bmp Binary files differnew file mode 100644 index 0000000000..5f25f32f1a --- /dev/null +++ b/gui/themes/scummodern/cursor_small.bmp diff --git a/gui/themes/scummodern/helvr12-l1.fcc b/gui/themes/scummodern/helvr12-l1.fcc Binary files differnew file mode 100644 index 0000000000..651a25934a --- /dev/null +++ b/gui/themes/scummodern/helvr12-l1.fcc diff --git a/gui/themes/scummodern/logo.bmp b/gui/themes/scummodern/logo.bmp Binary files differnew file mode 100644 index 0000000000..659ec47d03 --- /dev/null +++ b/gui/themes/scummodern/logo.bmp diff --git a/gui/themes/scummodern/scummodern_gfx.stx b/gui/themes/scummodern/scummodern_gfx.stx new file mode 100644 index 0000000000..672d3915e2 --- /dev/null +++ b/gui/themes/scummodern/scummodern_gfx.stx @@ -0,0 +1,464 @@ +/* ScummVM - Graphic Adventure Engine + * + * ScummVM is the legal property of its developers, whose names + * are too numerous to list here. Please refer to the COPYRIGHT + * file distributed with this source distribution. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * $URL$ + * $Id$ + * + */ + +<render_info> + <palette> + <color name = 'darkred' + rgb = '168, 42, 12' + /> + <color name = 'brightred' + rgb = '200, 124, 104' + /> + <color name = 'xtrabrightred' + rgb = '251, 241, 206' + /> + <color name = 'blandyellow' + rgb = '247, 228, 166' + /> + <color name = 'bgreen' + rgb = '96, 160, 8' + /> + <color name = 'blue' + rgb = '0, 255, 255' + /> + <color name = 'black' + rgb = '0, 0, 0' + /> + <color name = 'white' + rgb = '255, 255, 255' + /> + <color name = 'shadowcolor' + rgb = '63, 60, 17' + /> + </palette> + + <bitmaps> + <bitmap filename = 'logo.bmp'/> + <bitmap filename = 'cursor.bmp'/> + <bitmap filename = 'cursor_small.bmp'/> + <bitmap filename = 'checkbox.bmp'/> + </bitmaps> + + <fonts> + <font id = 'text_default' + file = 'default' + color = 'black' + /> + <font id = 'text_hover' + file = 'default' + color = 'bgreen' + /> + <font id = 'text_disabled' + file = 'default' + color = '128, 128, 128' + /> + <font id = 'text_inverted' + file = 'default' + color = '0, 0, 0' + /> + <font id = 'text_button' + file = 'default' + color = 'white' + /> + <font id = 'text_button_hover' + file = 'default' + color = 'blandyellow' + /> + <font id = 'text_normal' + file = 'helvr12-l1.bdf' + color = 'black' + /> + </fonts> + + <defaults fill = 'gradient' fg_color = 'white' bevel_color = '237, 169, 72'/> + + <cursor file = 'cursor.bmp' hotspot = '0, 0' scale = '3'/> + <cursor resolution = '320xY, 256x240' file = 'cursor_small.bmp' hotspot = '0, 0' scale = '3'/> + + <drawdata id = 'text_selection' cache = false> + <drawstep func = 'square' + fill = 'foreground' + fg_color = 'bgreen' + /> + </drawdata> + + <drawdata id = 'mainmenu_bg' cache = false> + <drawstep func = 'fill' + fill = 'gradient' + gradient_start = '208, 112, 8' + gradient_end = '232, 192, 16' + /> + </drawdata> + + <drawdata id = 'special_bg' cache = false> + <drawstep func = 'roundedsq' + radius = '4' + fill = 'gradient' + stroke = '0' + gradient_start = '208, 112, 8' + gradient_end = '232, 192, 16' + shadow = '3' + /> + </drawdata> + + <drawdata id = 'separator' cache = false> + <drawstep func = 'square' + fill = 'foreground' + height = '1' + ypos = 'center' + fg_color = 'black' + /> + </drawdata> + + <drawdata id = 'scrollbar_base' cache = false> + <drawstep func = 'roundedsq' + stroke = 1 + radius = 6 + fill = 'background' + fg_color = '176, 164, 160' + bg_color = '240, 228, 160' + /> + </drawdata> + + <drawdata id = 'scrollbar_handle_hover' cache = false> + <drawstep func = 'roundedsq' + stroke = 1 + radius = 6 + fill = 'gradient' + fg_color = 'blandyellow' + gradient_start = 'xtrabrightred' + gradient_end = 'darkred' + /> + </drawdata> + + <drawdata id = 'scrollbar_handle_idle' cache = false> + <drawstep func = 'roundedsq' + stroke = 1 + radius = 6 + fill = 'gradient' + fg_color = 'blandyellow' + gradient_start = 'brightred' + gradient_end = 'darkred' + /> + </drawdata> + + <drawdata id = 'scrollbar_button_idle' cache = false> + <drawstep func = 'roundedsq' + radius = '4' + fill = 'none' + fg_color = '176, 164, 160' + stroke = 1 + /> + <drawstep func = 'triangle' + fg_color = '0, 0, 0' + fill = 'foreground' + width = 'auto' + height = 'auto' + xpos = 'center' + ypos = 'center' + orientation = 'top' + /> + </drawdata> + + <drawdata id = 'scrollbar_button_hover' cache = false> + <drawstep func = 'roundedsq' + radius = '4' + fill = 'background' + fg_color = '120, 120, 120' + bg_color = '206, 121, 99' + stroke = 1 + /> + <drawstep func = 'triangle' + fg_color = '0, 0, 0' + fill = 'foreground' + width = 'auto' + height = 'auto' + xpos = 'center' + ypos = 'center' + orientation = 'top' + /> + </drawdata> + + <drawdata id = 'tab_active' cache = false> + <text font = 'text_default' + vertical_align = 'center' + horizontal_align = 'center' + /> + <drawstep func = 'tab' + radius = '4' + stroke = '0' + fill = 'gradient' + gradient_end = 'xtrabrightred' + gradient_start = 'blandyellow' + shadow = 3 + /> + </drawdata> + + <drawdata id = 'tab_inactive' cache = false> + <text font = 'text_default' + vertical_align = 'center' + horizontal_align = 'center' + /> + <drawstep func = 'tab' + radius = '4' + stroke = '0' + fill = 'foreground' + fg_color = '240, 205, 118' + shadow = 3 + /> + </drawdata> + + <drawdata id = 'tab_background' cache = false> + <drawstep func = 'tab' + radius = '8' + stroke = '0' + fill = 'foreground' + fg_color = '232, 180, 81' + shadow = 3 + /> + </drawdata> + + <drawdata id = 'widget_slider' cache = false> + <drawstep func = 'roundedsq' + stroke = 0 + radius = 4 + fill = 'foreground' + fg_color = 'blandyellow' + bevel = 1 + bevel_color = 'shadowcolor' + /> + </drawdata> + + <drawdata id = 'slider_full' cache = false> + <drawstep func = 'roundedsq' + stroke = 1 + radius = 4 + fill = 'gradient' + fg_color = '123, 112, 56' + gradient_start = 'brightred' + gradient_end = 'darkred' + /> + </drawdata> + + <drawdata id = 'slider_hover' cache = false> + <drawstep func = 'roundedsq' + stroke = 1 + radius = 4 + fill = 'gradient' + fg_color = '123, 112, 56' + gradient_start = 'xtrabrightred' + gradient_end = 'darkred' + /> + </drawdata> + + <drawdata id = 'popup_idle' cache = false> + <drawstep func = 'roundedsq' + stroke = 0 + radius = 4 + fill = 'foreground' + fg_color = '250, 237, 190' + shadow = 2 + /> + <drawstep func = 'triangle' + fg_color = '63, 60, 52' + fill = 'foreground' + width = 'height' + height = 'auto' + xpos = 'right' + ypos = 'center' + orientation = 'bottom' + /> + <text font = 'text_default' + vertical_align = 'center' + horizontal_align = 'right' + /> + </drawdata> + + + <drawdata id = 'popup_hover' cache = false> + <drawstep func = 'roundedsq' + stroke = 0 + radius = 4 + fill = 'gradient' + gradient_start = 'blandyellow' + gradient_end = '250, 237, 190' + shadow = 0 + /> + <drawstep func = 'triangle' + fg_color = '63, 60, 52' + fill = 'foreground' + width = 'height' + height = 'auto' + xpos = 'right' + ypos = 'center' + orientation = 'bottom' + /> + <text font = 'text_hover' + vertical_align = 'center' + horizontal_align = 'right' + /> + </drawdata> + + <drawdata id = 'widget_textedit' cache = false> + <drawstep func = 'roundedsq' + fill = 'foreground' + radius = 4 + fg_color = 'blandyellow' + shadow = 0 + bevel = 1 + bevel_color = 'shadowcolor' + /> + </drawdata> + + <drawdata id = 'plain_bg' cache = false> + <drawstep func = 'roundedsq' + radius = 8 + stroke = 0 + gradient_start = 'blandyellow' + gradient_end = 'xtrabrightred' + fill = 'gradient' + shadow = 3 + /> + </drawdata> + + <drawdata id = 'caret' cache = false> + <drawstep func = 'square' + fill = 'foreground' + fg_color = 'black' + /> + </drawdata> + + <drawdata id = 'default_bg' cache = false> + <drawstep func = 'roundedsq' + radius = 12 + stroke = 0 + fg_color = 'xtrabrightred' + fill = 'foreground' + shadow = 3 + /> + </drawdata> + + <drawdata id = 'button_idle' cache = false> + <text font = 'text_button' + vertical_align = 'center' + horizontal_align = 'center' + /> + <drawstep func = 'roundedsq' + radius = '6' + stroke = 1 + fill = 'gradient' + shadow = 0 + fg_color = 'shadowcolor' + gradient_start = 'brightred' + gradient_end = 'darkred' + bevel = 1 + /> + </drawdata> + + <drawdata id = 'button_hover' cache = false> + <text font = 'text_button_hover' + vertical_align = 'center' + horizontal_align = 'center' + /> + <drawstep func = 'roundedsq' + radius = '6' + gradient_factor = 1 + stroke = 1 + fill = 'gradient' + shadow = 0 + fg_color = 'shadowcolor' + gradient_start = 'xtrabrightred' + gradient_end = 'darkred' + bevel_color = 'xtrabrightred' + bevel = 1 + /> + </drawdata> + + <drawdata id = 'button_disabled' cache = false> + <text font = 'text_disabled' + vertical_align = 'center' + horizontal_align = 'center' + /> + <drawstep func = 'roundedsq' + radius = '8' + stroke = 0 + fill = 'foreground' + fg_color = '200, 200, 200' + shadow = 3 + /> + </drawdata> + + <drawdata id = 'checkbox_disabled' cache = false> + <text font = 'text_disabled' + vertical_align = 'top' + horizontal_align = 'left' + /> + <drawstep func = 'roundedsq' + fill = 'none' + radius = 4 + fg_color = 'black' + shadow = 0 + bevel = 1 + bevel_color = 'shadowcolor' + /> + </drawdata> + + <drawdata id = 'checkbox_selected' cache = false> + <text font = 'text_default' + vertical_align = 'top' + horizontal_align = 'left' + /> + <drawstep func = 'bitmap' + file = 'checkbox.bmp' + /> + </drawdata> + + <drawdata id = 'checkbox_default' cache = false> + <text font = 'text_default' + vertical_align = 'top' + horizontal_align = 'left' + /> + <drawstep func = 'roundedsq' + fill = 'foreground' + radius = 4 + fg_color = 'blandyellow' + shadow = 0 + bevel = 1 + bevel_color = 'shadowcolor' + /> + </drawdata> + + <drawdata id = 'widget_default' cache = false> + <drawstep func = 'roundedsq' + radius = 8 + stroke = 0 + gradient_start = 'blandyellow' + gradient_end = 'xtrabrightred' + gradient_factor = '6' + fill = 'gradient' + shadow = 3 + /> + </drawdata> +</render_info>
\ No newline at end of file diff --git a/gui/themes/scummodern/scummodern_layout.stx b/gui/themes/scummodern/scummodern_layout.stx new file mode 100644 index 0000000000..808004ab66 --- /dev/null +++ b/gui/themes/scummodern/scummodern_layout.stx @@ -0,0 +1,602 @@ +/* ScummVM - Graphic Adventure Engine + * + * ScummVM is the legal property of its developers, whose names + * are too numerous to list here. Please refer to the COPYRIGHT + * file distributed with this source distribution. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * $URL$ + * $Id$ + * + */ + +<layout_info resolution = '-320xY'> + <globals> + <def var = 'Line.Height' value = '16' /> + <def var = 'Font.Height' value = '16' /> + <def var = 'TabLabelWidth' value = '110' /> + + <def var = 'WidgetSize' value = 'kBigWidgetSize' /> + + <def var = 'Padding.Bottom' value = '16' /> + <def var = 'Padding.Left' value = '16' /> + <def var = 'Padding.Right' value = '16' /> + <def var = 'Padding.Top' value = '16' /> + + <def var = 'About.OuterBorder' value = '80'/> + + <def var = 'ListWidget.hlLeftPadding' value = '0'/> + <def var = 'ListWidget.hlRightPadding' value = '0'/> + <def var = 'PopUpWidget.labelSpacing' value = '10' /> + + <def var = 'ShowLauncherLogo' value = '1'/> + + <def var = 'ScummSaveLoad.ExtInfo.Visible' value = '1'/> + + <widget name = 'OptionsLabel' + size = '110, Globals.Line.Height' + /> + <widget name = 'SmallLabel' + size = '24, Globals.Line.Height' + /> + + <widget name = 'Button' + size = 'kBigButtonWidth, kBigButtonHeight' + /> + + + <widget name = 'Slider' + size = 'kBigSliderWidth, kBigSliderHeight' + /> + <widget name = 'PopUp' + size = '-1, 19' + /> + <widget name = 'Checkbox' + size = '-1, Globals.Line.Height' + /> + <widget name = 'ListWidget' + padding = '5, 0, 8, 0' + /> + <widget name = 'PopUpWidget' + padding = '7, 5, 0, 0' + /> + <widget name = 'EditTextWidget' + padding = '5, 5, 0, 0' + /> + <widget name = 'Console' + padding = '7, 5, 5, 5' + /> + <widget name = 'TabWidget.Tab' + size = '75, 27' + padding = '0, 0, 8, 0' + /> + <widget name = 'TabWidget.NavButton' + size = '15, 18' + padding = '0, 3, 4, 0' + /> + </globals> + + <dialog name = 'Launcher' overlays = 'screen'> + <layout type = 'vertical' center = 'true' padding = '23, 23, 8, 23'> + <widget name = 'Version' + width = '247' + height = 'Globals.Line.Height' + /> + <widget name = 'Logo' + width = '283' + height = '80' + /> + <layout type = 'horizontal' padding = '0, 0, 0, 0'> + <widget name = 'GameList'/> + <layout type = 'vertical' padding = '10, 0, 0, 0'> + <widget name = 'StartButton' + type = 'Button' + /> + <space size = '16' /> + <widget name = 'AddGameButton' + type = 'Button' + /> + <widget name = 'EditGameButton' + type = 'Button' + /> + <widget name = 'RemoveGameButton' + type = 'Button' + /> + <space size = '16' /> + <widget name = 'OptionsButton' + type = 'Button' + /> + <widget name = 'AboutButton' + type = 'Button' + /> + <space size = '16' /> + <widget name = 'QuitButton' + type = 'Button' + /> + </layout> + </layout> + </layout> + </dialog> + + <dialog name = 'Browser' overlays = 'Dialog.Launcher.GameList' shading = 'dim'> + <layout type = 'vertical' padding = '8, 8, 8, 8' direction = 'bottom2top'> + <layout type = 'horizontal' padding = '0, 0, 16, 0' direction = 'right2left'> + <widget name = 'Choose' + type = 'Button' + /> + <widget name = 'Cancel' + type = 'Button' + /> + <space/> + <widget name = 'Up' + type = 'Button' + /> + </layout> + <widget name = 'List'/> + <widget name = 'Path' + height = 'Globals.Line.Height' + /> + <widget name = 'Headline' + height = 'Globals.Line.Height' + /> + </layout> + </dialog> + + <dialog name = 'GlobalOptions' overlays = 'Dialog.Launcher.GameList' shading = 'dim'> + <layout type = 'vertical' padding = '0, 0, 0, 0' direction = 'bottom2top'> + <layout type = 'horizontal' direction = 'right2left' padding = '16, 16, 16, 16'> + <widget name = 'Ok' + type = 'Button' + /> + <widget name = 'Cancel' + type = 'Button' + /> + <space/> + </layout> + <widget name = 'TabWidget'/> + </layout> + </dialog> + + + + <dialog name = 'GlobalOptions_Graphics' overlays = 'Dialog.GlobalOptions.TabWidget'> + <layout type = 'vertical' padding = '16, 16, 16, 16' spacing = '8'> + <widget name = 'grModePopup' + type = 'PopUp' + /> + <widget name = 'grRenderPopup' + type = 'PopUp' + /> + <widget name = 'grAspectCheckbox' + type = 'Checkbox' + /> + <widget name = 'grFullscreenCheckbox' + type = 'Checkbox' + /> + </layout> + </dialog> + + <dialog name = 'GlobalOptions_Audio' overlays = 'Dialog.GlobalOptions.TabWidget'> + <layout type = 'vertical' padding = '16, 16, 16, 16' spacing = '8'> + <widget name = 'auMidiPopup' + type = 'PopUp' + /> + <widget name = 'auSampleRatePopup' + type = 'PopUp' + /> + <layout type = 'horizontal' padding = '0, 0, 0, 0'> + <widget name = 'subToggleDesc' + type = 'OptionsLabel' + /> + <widget name = 'subToggleButton' + width = '150' + height = 'Globals.Slider.Height' + /> + </layout> + <layout type = 'horizontal' padding = '0, 0, 0, 0'> + <widget name = 'subSubtitleSpeedDesc' + type = 'OptionsLabel' + /> + <widget name = 'subSubtitleSpeedSlider' + type = 'Slider' + /> + <widget name = 'subSubtitleSpeedLabel' + type = 'SmallLabel' + /> + </layout> + </layout> + </dialog> + + <dialog name = 'GlobalOptions_Volume' overlays = 'Dialog.GlobalOptions.TabWidget'> + <layout type = 'vertical' padding = '16, 16, 16, 16' spacing = '8'> + <layout type = 'horizontal' padding = '0, 0, 0, 0'> + <widget name = 'vcMusicText' + type = 'OptionsLabel' + /> + <widget name = 'vcMusicSlider' + type = 'Slider' + /> + <widget name = 'vcMusicLabel' + type = 'SmallLabel' + /> + </layout> + <layout type = 'horizontal' padding = '0, 0, 0, 0'> + <widget name = 'vcSfxText' + type = 'OptionsLabel' + /> + <widget name = 'vcSfxSlider' + type = 'Slider' + /> + <widget name = 'vcSfxLabel' + type = 'SmallLabel' + /> + </layout> + <layout type = 'horizontal' padding = '0, 0, 0, 0'> + <widget name = 'vcSpeechText' + type = 'OptionsLabel' + /> + <widget name = 'vcSpeechSlider' + type = 'Slider' + /> + <widget name = 'vcSpeechLabel' + type = 'SmallLabel' + /> + </layout> + </layout> + </dialog> + + <dialog name = 'GlobalOptions_MIDI' overlays = 'Dialog.GlobalOptions.TabWidget'> + <layout type = 'vertical' padding = '16, 16, 16, 16' spacing = '8'> + <layout type = 'horizontal' padding = '0, 0, 0, 0'> + <widget name = 'mcFontButton' + type = 'Button' + /> + <widget name = 'mcFontClearButton' + height = 'Globals.Line.Height' + width = 'Globals.Line.Height' + /> + <widget name = 'mcFontPath' + height = 'Globals.Line.Height' + /> + </layout> + <widget name = 'mcMixedCheckbox' + type = 'Checkbox' + /> + <widget name = 'mcMt32Checkbox' + type = 'Checkbox' + /> + <widget name = 'mcGSCheckbox' + type = 'Checkbox' + /> + <layout type = 'horizontal' padding = '0, 0, 0, 0'> + <widget name = 'mcMidiGainText' + type = 'OptionsLabel' + /> + <widget name = 'mcMidiGainSlider' + type = 'Slider' + /> + <widget name = 'mcMidiGainLabel' + width = '32' + height = 'Globals.Line.Height' + /> + </layout> + </layout> + </dialog> + + <dialog name = 'GlobalOptions_Paths' overlays = 'Dialog.GlobalOptions.TabWidget'> + <layout type = 'vertical' padding = '16, 16, 16, 16' spacing = '8'> + <layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '16'> + <widget name = 'SaveButton' + type = 'Button' + /> + <widget name = 'SavePath' + height = 'Globals.Line.Height' + /> + </layout> + <layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '16'> + <widget name = 'ThemeButton' + type = 'Button' + /> + <widget name = 'ThemePath' + height = 'Globals.Line.Height' + /> + </layout> + <layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '16'> + <widget name = 'ExtraButton' + type = 'Button' + /> + <widget name = 'ExtraPath' + height = 'Globals.Line.Height' + /> + </layout> + <layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '16'> + <widget name = 'PluginsButton' + type = 'Button' + /> + <widget name = 'PluginsPath' + height = 'Globals.Line.Height' + /> + </layout> + </layout> + </dialog> + + <dialog name = 'GlobalOptions_Misc' overlays = 'Dialog.GlobalOptions.TabWidget'> + <layout type = 'vertical' padding = '16, 16, 16, 16' spacing = '8'> + <layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '16'> + <widget name = 'ThemeButton' + type = 'Button' + /> + <widget name = 'CurTheme' + height = 'Globals.Line.Height' + /> + </layout> + <widget name = 'AutosavePeriod' + type = 'PopUp' + /> + </layout> + </dialog> + + <dialog name = 'GameOptions' overlays = 'Dialog.Launcher.GameList' shading = 'dim'> + <layout type = 'vertical' padding = '0, 0, 0, 0' direction = 'bottom2top' spacing = '16'> + <layout type = 'horizontal' direction = 'right2left' padding = '16, 16, 16, 16'> + <widget name = 'Ok' + type = 'Button' + /> + <widget name = 'Cancel' + type = 'Button' + /> + <space/> + </layout> + <widget name = 'TabWidget'/> + </layout> + </dialog> + + <dialog name = 'GameOptions_Graphics' overlays = 'Dialog.GlobalOptions.TabWidget'> + <layout type = 'vertical' padding = '16, 16, 16, 16' spacing = '8'> + <widget name = 'EnableTabCheckbox' + type = 'Checkbox' + /> + <import layout = 'Dialog.GlobalOptions_Graphics' /> + </layout> + </dialog> + + <dialog name = 'GameOptions_Audio' overlays = 'Dialog.GlobalOptions.TabWidget'> + <layout type = 'vertical' padding = '16, 16, 16, 16' spacing = '8'> + <widget name = 'EnableTabCheckbox' + type = 'Checkbox' + /> + <import layout = 'Dialog.GlobalOptions_Audio' /> + </layout> + </dialog> + + <dialog name = 'GameOptions_MIDI' overlays = 'Dialog.GlobalOptions.TabWidget'> + <layout type = 'vertical' padding = '16, 16, 16, 16' spacing = '8'> + <widget name = 'EnableTabCheckbox' + type = 'Checkbox' + /> + <import layout = 'Dialog.GlobalOptions_MIDI' /> + </layout> + </dialog> + + <dialog name = 'GameOptions_Volume' overlays = 'Dialog.GlobalOptions.TabWidget'> + <layout type = 'vertical' padding = '16, 16, 16, 16' spacing = '8'> + <widget name = 'EnableTabCheckbox' + type = 'Checkbox' + /> + <import layout = 'Dialog.GlobalOptions_Volume' /> + </layout> + </dialog> + + <dialog name = 'GameOptions_Game' overlays = 'Dialog.GameOptions.TabWidget' shading = 'dim'> + <layout type = 'vertical' padding = '16, 16, 16, 16'> + <layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '16'> + <widget name = 'Id' + type = 'OptionsLabel' + /> + <widget name = 'Domain' + type = 'PopUp' + /> + </layout> + <layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '16'> + <widget name = 'Name' + type = 'OptionsLabel' + /> + <widget name = 'Desc' + type = 'PopUp' + /> + </layout> + <widget name = 'Lang' + type = 'PopUp' + /> + <widget name = 'Platform' + type = 'PopUp' + /> + </layout> + </dialog> + + <dialog name = 'GameOptions_Paths' overlays = 'Dialog.GameOptions.TabWidget' shading = 'dim'> + <layout type = 'vertical' padding = '16, 16, 16, 16'> + <layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '16' center = 'true'> + <widget name = 'Savepath' + type = 'Button' + /> + <widget name = 'SavepathText' + height = 'Globals.Line.Height' + /> + </layout> + <layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '16' center = 'true'> + <widget name = 'Extrapath' + type = 'Button' + /> + <widget name = 'ExtrapathText' + height = 'Globals.Line.Height' + /> + </layout> + <layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '16' center = 'true'> + <widget name = 'Gamepath' + type = 'Button' + /> + <widget name = 'GamepathText' + height = 'Globals.Line.Height' + /> + </layout> + </layout> + </dialog> + + <dialog name = 'ScummMain' overlays = 'screen_center'> + <layout type = 'vertical' padding = '8, 8, 8, 8'> + <widget name = 'Resume' + type = 'Button' + /> + <space size = '15'/> + <widget name = 'Load' + type = 'Button' + /> + <widget name = 'Save' + type = 'Button' + /> + <space size = '15'/> + <widget name = 'Options' + type = 'Button' + /> + <widget name = 'Help' + type = 'Button' + /> + <widget name = 'About' + type = 'Button' + /> + <space size = '15'/> + <widget name = 'Quit' + type = 'Button' + /> + </layout> + </dialog> + + <dialog name = 'ScummConfig' overlays = 'screen_center'> + <layout type = 'vertical' padding = '8, 8, 8, 8' center = 'true' direction = 'bottom2top'> + <layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '8'> + <space size = 'Globals.Button.Width' /> + <widget name = 'Cancel' + type = 'Button' + /> + <widget name = 'Ok' + type = 'Button' + /> + </layout> + <space size = '100'/> + <layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '8'> + <widget name = 'subSubtitleSpeedDesc' + type = 'OptionsLabel' + /> + <widget name = 'subSubtitleSpeedSlider' + type = 'Slider' + /> + <widget name = 'subSubtitleSpeedLabel' + type = 'SmallLabel' + /> + </layout> + <layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '8'> + <widget name = 'subToggleDesc' + type = 'OptionsLabel' + /> + <widget name = 'subToggleButton' + width = '158' + height = 'Globals.Slider.Height' + /> + </layout> + <layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '8'> + <widget name = 'vcSpeechText' + type = 'OptionsLabel' + /> + <widget name = 'vcSpeechSlider' + type = 'Slider' + /> + <widget name = 'vcSpeechLabel' + type = 'SmallLabel' + /> + </layout> + <layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '8'> + <widget name = 'vcSfxText' + type = 'OptionsLabel' + /> + <widget name = 'vcSfxSlider' + type = 'Slider' + /> + <widget name = 'vcSfxLabel' + type = 'SmallLabel' + /> + </layout> + <layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '8'> + <widget name = 'vcMusicText' + type = 'OptionsLabel' + /> + <widget name = 'vcMusicSlider' + type = 'Slider' + /> + <widget name = 'vcMusicLabel' + type = 'SmallLabel' + /> + </layout> + </layout> + </dialog> + + <dialog name = 'ScummSaveLoad' overlays = 'screen'> + <layout type = 'vertical' padding = '8, 8, 8, 8' center = 'true' direction = 'bottom2top'> + <layout type = 'horizontal' padding = '0, 0, 16, 0' direction = 'right2left'> + <widget name = 'Choose' + type = 'Button' + /> + <widget name = 'Cancel' + type = 'Button' + /> + <space/> + </layout> + <layout type = 'horizontal' padding = '0, 0, 0, 0' direction = 'right2left' spacing = '16'> + <layout type = 'vertical' padding = '0, 0, 0, 0'> + <widget name = 'Thumbnail' + width = '180' + height = '200' + /> + <space/> + </layout> + <widget name = 'List' /> + </layout> + </layout> + </dialog> + + <dialog name = 'ScummHelp' overlays = 'screen_center'> + <layout type = 'vertical' padding = '8, 8, 8, 8' direction = 'bottom2top'> + <layout type = 'horizontal' padding = '0, 0, 16, 0'> + <widget name = 'Prev' + type = 'Button' + /> + <widget name = 'Next' + type = 'Button' + /> + <space size = '32'/> + <widget name = 'Close' + type = 'Button' + /> + </layout> + <widget name = 'HelpText' + height = '220' + /> + <widget name = 'Title' + height = 'Globals.Line.Height' + /> + </layout> + </dialog> +</layout_info>
\ No newline at end of file diff --git a/gui/themes/scummodern/scummodern_layout_320.stx b/gui/themes/scummodern/scummodern_layout_320.stx new file mode 100644 index 0000000000..07ea81371f --- /dev/null +++ b/gui/themes/scummodern/scummodern_layout_320.stx @@ -0,0 +1,579 @@ +/* ScummVM - Graphic Adventure Engine + * + * ScummVM is the legal property of its developers, whose names + * are too numerous to list here. Please refer to the COPYRIGHT + * file distributed with this source distribution. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * $URL$ + * $Id$ + * + */ + +<layout_info resolution = "320xY, 256x240"> + <globals> + <def var = 'Line.Height' value = '12' /> + <def var = 'Font.Height' value = '10' /> + <def var = 'TabLabelWidth' value = '100' /> + + <def var = 'WidgetSize' value = 'kNormalWidgetSize' /> + <def var = 'About.OuterBorder' value = '10'/> + <def var = 'PopUpWidget.labelSpacing' value = '6' /> + + <def var = 'ShowLauncherLogo' value = '0'/> + <def var = 'ScummSaveLoad.ExtInfo.Visible' value = '0'/> + + <widget name = 'Button' + size = 'kButtonWidth, kButtonHeight' + /> + + <widget name = 'Slider' + size = 'kSliderWidth, kSliderHeight' + /> + + <widget name = 'OptionsLabel' + size = '110, Globals.Line.Height' + /> + <widget name = 'SmallLabel' + size = '18, Globals.Line.Height' + /> + <widget name = 'PopUp' + size = '-1, 15' + /> + <widget name = 'Checkbox' + size = '-1, Globals.Line.Height' + /> + <widget name = 'ListWidget' + padding = '5, 0, 8, 0' + /> + <widget name = 'PopUpWidget' + padding = '7, 5, 0, 0' + /> + <widget name = 'EditTextWidget' + padding = '5, 5, 0, 0' + /> + <widget name = 'Console' + padding = '7, 5, 5, 5' + /> + <widget name = 'TabWidget.Tab' + size = '45, 16' + padding = '0, 0, 2, 0' + /> + <widget name = 'TabWidget.NavButton' + size = '32, 18' + padding = '0, 3, 4, 0' + /> + </globals> + + <dialog name = 'Launcher' overlays = 'screen'> + <layout type = 'vertical' center = 'true' padding = '8, 8, 8, 8'> + <widget name = 'Version' + height = 'Globals.Line.Height' + /> + <widget name = 'GameList'/> + <layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '6'> + <widget name = 'AddGameButton' + width = '95' + height = 'Globals.Button.Height' + /> + <widget name = 'EditGameButton' + width = '95' + height = 'Globals.Button.Height' + /> + <widget name = 'RemoveGameButton' + width = '95' + height = 'Globals.Button.Height' + /> + </layout> + <layout type = 'horizontal' padding = '0, 0, 0, 0'> + <widget name = 'QuitButton' + type = 'Button' + /> + <widget name = 'AboutButton' + type = 'Button' + /> + <widget name = 'OptionsButton' + type = 'Button' + /> + <widget name = 'StartButton' + type = 'Button' + /> + </layout> + </layout> + </dialog> + + <dialog name = 'Browser' overlays = 'screen' inset = '16' shading = 'dim'> + <layout type = 'vertical' padding = '8, 8, 8, 8' direction = 'bottom2top'> + <layout type = 'horizontal' padding = '0, 0, 16, 0' direction = 'right2left'> + <widget name = 'Choose' + type = 'Button' + /> + <widget name = 'Cancel' + type = 'Button' + /> + <space/> + <widget name = 'Up' + type = 'Button' + /> + </layout> + <widget name = 'List'/> + <widget name = 'Path' + height = 'Globals.Line.Height' + /> + <widget name = 'Headline' + height = 'Globals.Line.Height' + /> + </layout> + </dialog> + + <dialog name = 'GlobalOptions' overlays = 'screen' inset = '16' shading = 'dim'> + <layout type = 'vertical' padding = '0, 0, 0, 0' direction = 'bottom2top'> + <layout type = 'horizontal' direction = 'right2left' padding = '8, 8, 8, 2'> + <widget name = 'Ok' + type = 'Button' + /> + <widget name = 'Cancel' + type = 'Button' + /> + <space/> + </layout> + <widget name = 'TabWidget'/> + </layout> + </dialog> + + <dialog name = 'GlobalOptions_Graphics' overlays = 'Dialog.GlobalOptions.TabWidget'> + <layout type = 'vertical' padding = '16, 16, 16, 16' spacing = '8'> + <widget name = 'grModePopup' + type = 'PopUp' + /> + <widget name = 'grRenderPopup' + type = 'PopUp' + /> + <widget name = 'grAspectCheckbox' + type = 'Checkbox' + /> + <widget name = 'grFullscreenCheckbox' + type = 'Checkbox' + /> + </layout> + </dialog> + + <dialog name = 'GlobalOptions_Audio' overlays = 'Dialog.GlobalOptions.TabWidget'> + <layout type = 'vertical' padding = '16, 16, 16, 16' spacing = '8'> + <widget name = 'auMidiPopup' + type = 'PopUp' + /> + <widget name = 'auSampleRatePopup' + type = 'PopUp' + /> + <layout type = 'horizontal' padding = '0, 0, 0, 0'> + <widget name = 'subToggleDesc' + type = 'OptionsLabel' + /> + <widget name = 'subToggleButton' + width = 'Globals.Slider.Width' + height = 'Globals.Slider.Height' + /> + </layout> + <layout type = 'horizontal' padding = '0, 0, 0, 0'> + <widget name = 'subSubtitleSpeedDesc' + type = 'OptionsLabel' + /> + <widget name = 'subSubtitleSpeedSlider' + type = 'Slider' + /> + <widget name = 'subSubtitleSpeedLabel' + type = 'SmallLabel' + /> + </layout> + </layout> + </dialog> + + <dialog name = 'GlobalOptions_Volume' overlays = 'Dialog.GlobalOptions.TabWidget'> + <layout type = 'vertical' padding = '16, 16, 16, 16' spacing = '8'> + <layout type = 'horizontal' padding = '0, 0, 0, 0'> + <widget name = 'vcMusicText' + type = 'OptionsLabel' + /> + <widget name = 'vcMusicSlider' + type = 'Slider' + /> + <widget name = 'vcMusicLabel' + type = 'SmallLabel' + /> + </layout> + <layout type = 'horizontal' padding = '0, 0, 0, 0'> + <widget name = 'vcSfxText' + type = 'OptionsLabel' + /> + <widget name = 'vcSfxSlider' + type = 'Slider' + /> + <widget name = 'vcSfxLabel' + type = 'SmallLabel' + /> + </layout> + <layout type = 'horizontal' padding = '0, 0, 0, 0'> + <widget name = 'vcSpeechText' + type = 'OptionsLabel' + /> + <widget name = 'vcSpeechSlider' + type = 'Slider' + /> + <widget name = 'vcSpeechLabel' + type = 'SmallLabel' + /> + </layout> + </layout> + </dialog> + + <dialog name = 'GlobalOptions_MIDI' overlays = 'Dialog.GlobalOptions.TabWidget'> + <layout type = 'vertical' padding = '16, 16, 16, 16' spacing = '8'> + <layout type = 'horizontal' padding = '0, 0, 0, 0'> + <widget name = 'mcFontButton' + type = 'Button' + /> + <widget name = 'mcFontClearButton' + height = 'Globals.Line.Height' + width = 'Globals.Line.Height' + /> + <widget name = 'mcFontPath' + height = 'Globals.Line.Height' + /> + </layout> + <widget name = 'mcMixedCheckbox' + type = 'Checkbox' + /> + <widget name = 'mcMt32Checkbox' + type = 'Checkbox' + /> + <widget name = 'mcGSCheckbox' + type = 'Checkbox' + /> + <layout type = 'horizontal' padding = '0, 0, 0, 0'> + <widget name = 'mcMidiGainText' + type = 'OptionsLabel' + /> + <widget name = 'mcMidiGainSlider' + type = 'Slider' + /> + <widget name = 'mcMidiGainLabel' + width = '32' + height = 'Globals.Line.Height' + /> + </layout> + </layout> + </dialog> + + <dialog name = 'GlobalOptions_Paths' overlays = 'Dialog.GlobalOptions.TabWidget'> + <layout type = 'vertical' padding = '16, 16, 16, 16' spacing = '8'> + <layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '16'> + <widget name = 'SaveButton' + type = 'Button' + /> + <widget name = 'SavePath' + height = 'Globals.Line.Height' + /> + </layout> + <layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '16'> + <widget name = 'ThemeButton' + type = 'Button' + /> + <widget name = 'ThemePath' + height = 'Globals.Line.Height' + /> + </layout> + <layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '16'> + <widget name = 'ExtraButton' + type = 'Button' + /> + <widget name = 'ExtraPath' + height = 'Globals.Line.Height' + /> + </layout> + <layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '16'> + <widget name = 'PluginsButton' + type = 'Button' + /> + <widget name = 'PluginsPath' + height = 'Globals.Line.Height' + /> + </layout> + </layout> + </dialog> + + <dialog name = 'GlobalOptions_Misc' overlays = 'Dialog.GlobalOptions.TabWidget'> + <layout type = 'vertical' padding = '16, 16, 16, 16' spacing = '8'> + <layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '16'> + <widget name = 'ThemeButton' + type = 'Button' + /> + <widget name = 'CurTheme' + height = 'Globals.Line.Height' + /> + </layout> + <widget name = 'AutosavePeriod' + type = 'PopUp' + /> + </layout> + </dialog> + + <dialog name = 'GameOptions' overlays = 'screen' inset = '16' shading = 'dim'> + <layout type = 'vertical' padding = '0, 0, 0, 0' direction = 'bottom2top' spacing = '16'> + <layout type = 'horizontal' direction = 'right2left' padding = '8, 8, 8, 2'> + <widget name = 'Ok' + type = 'Button' + /> + <widget name = 'Cancel' + type = 'Button' + /> + <space/> + </layout> + <widget name = 'TabWidget'/> + </layout> + </dialog> + + <dialog name = 'GameOptions_Graphics' overlays = 'Dialog.GlobalOptions.TabWidget'> + <layout type = 'vertical' padding = '16, 16, 16, 16' spacing = '8'> + <widget name = 'EnableTabCheckbox' + type = 'Checkbox' + /> + <import layout = 'Dialog.GlobalOptions_Graphics' /> + </layout> + </dialog> + + <dialog name = 'GameOptions_Audio' overlays = 'Dialog.GlobalOptions.TabWidget'> + <layout type = 'vertical' padding = '16, 16, 16, 16' spacing = '8'> + <widget name = 'EnableTabCheckbox' + type = 'Checkbox' + /> + <import layout = 'Dialog.GlobalOptions_Audio' /> + </layout> + </dialog> + + <dialog name = 'GameOptions_MIDI' overlays = 'Dialog.GlobalOptions.TabWidget'> + <layout type = 'vertical' padding = '16, 16, 16, 16' spacing = '8'> + <widget name = 'EnableTabCheckbox' + type = 'Checkbox' + /> + <import layout = 'Dialog.GlobalOptions_MIDI' /> + </layout> + </dialog> + + <dialog name = 'GameOptions_Volume' overlays = 'Dialog.GlobalOptions.TabWidget'> + <layout type = 'vertical' padding = '16, 16, 16, 16' spacing = '8'> + <widget name = 'EnableTabCheckbox' + type = 'Checkbox' + /> + <import layout = 'Dialog.GlobalOptions_Volume' /> + </layout> + </dialog> + + <dialog name = 'GameOptions_Game' overlays = 'Dialog.GameOptions.TabWidget' shading = 'dim'> + <layout type = 'vertical' padding = '16, 16, 16, 16'> + <layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '16'> + <widget name = 'Id' + width = '35' + height = 'Globals.Line.Height' + /> + <widget name = 'Domain' + type = 'PopUp' + /> + </layout> + <layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '16'> + <widget name = 'Name' + width = '35' + height = 'Globals.Line.Height' + /> + <widget name = 'Desc' + type = 'PopUp' + /> + </layout> + <space size = '8'/> + <widget name = 'Lang' + type = 'PopUp' + /> + <widget name = 'Platform' + type = 'PopUp' + /> + </layout> + </dialog> + + <dialog name = 'GameOptions_Paths' overlays = 'Dialog.GameOptions.TabWidget' shading = 'dim'> + <layout type = 'vertical' padding = '16, 16, 16, 16'> + <layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '16' center = 'true'> + <widget name = 'Savepath' + type = 'Button' + /> + <widget name = 'SavepathText' + height = 'Globals.Line.Height' + /> + </layout> + <layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '16' center = 'true'> + <widget name = 'Extrapath' + type = 'Button' + /> + <widget name = 'ExtrapathText' + height = 'Globals.Line.Height' + /> + </layout> + <layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '16' center = 'true'> + <widget name = 'Gamepath' + type = 'Button' + /> + <widget name = 'GamepathText' + height = 'Globals.Line.Height' + /> + </layout> + </layout> + </dialog> + + <dialog name = 'ScummMain' overlays = 'screen_center'> + <layout type = 'vertical' padding = '4, 4, 4, 4'> + <widget name = 'Resume' + type = 'Button' + /> + <space size = '8'/> + <widget name = 'Load' + type = 'Button' + /> + <widget name = 'Save' + type = 'Button' + /> + <space size = '8'/> + <widget name = 'Options' + type = 'Button' + /> + <widget name = 'Help' + type = 'Button' + /> + <widget name = 'About' + type = 'Button' + /> + <space size = '8'/> + <widget name = 'Quit' + type = 'Button' + /> + </layout> + </dialog> + + <dialog name = 'ScummConfig' overlays = 'screen_center'> + <layout type = 'vertical' padding = '8, 8, 8, 8' center = 'true' direction = 'bottom2top'> + <layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '8'> + <space size = 'Globals.Button.Width' /> + <widget name = 'Cancel' + type = 'Button' + /> + <widget name = 'Ok' + type = 'Button' + /> + </layout> + <space size = '100'/> + <layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '8'> + <widget name = 'subSubtitleSpeedDesc' + type = 'OptionsLabel' + /> + <widget name = 'subSubtitleSpeedSlider' + type = 'Slider' + /> + <widget name = 'subSubtitleSpeedLabel' + type = 'SmallLabel' + /> + </layout> + <layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '8'> + <widget name = 'subToggleDesc' + type = 'OptionsLabel' + /> + <widget name = 'subToggleButton' + width = 'Globals.Slider.Width' + height = 'Globals.Slider.Height' + /> + </layout> + <layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '8'> + <widget name = 'vcSpeechText' + type = 'OptionsLabel' + /> + <widget name = 'vcSpeechSlider' + type = 'Slider' + /> + <widget name = 'vcSpeechLabel' + type = 'SmallLabel' + /> + </layout> + <layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '8'> + <widget name = 'vcSfxText' + type = 'OptionsLabel' + /> + <widget name = 'vcSfxSlider' + type = 'Slider' + /> + <widget name = 'vcSfxLabel' + type = 'SmallLabel' + /> + </layout> + <layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '8'> + <widget name = 'vcMusicText' + type = 'OptionsLabel' + /> + <widget name = 'vcMusicSlider' + type = 'Slider' + /> + <widget name = 'vcMusicLabel' + type = 'SmallLabel' + /> + </layout> + </layout> + </dialog> + + <dialog name = 'ScummSaveLoad' overlays = 'screen'> + <layout type = 'vertical' padding = '8, 8, 8, 8' center = 'true' direction = 'bottom2top'> + <layout type = 'horizontal' padding = '0, 0, 16, 0' direction = 'right2left'> + <widget name = 'Choose' + type = 'Button' + /> + <widget name = 'Cancel' + type = 'Button' + /> + <space/> + </layout> + <widget name = 'List' /> + <widget name = 'Title' height = 'Globals.Line.Height'/> + </layout> + </dialog> + + <dialog name = 'ScummHelp' overlays = 'screen_center'> + <layout type = 'vertical' padding = '8, 8, 8, 8' direction = 'bottom2top'> + <layout type = 'horizontal' padding = '0, 0, 4, 0'> + <widget name = 'Prev' + type = 'Button' + /> + <widget name = 'Next' + type = 'Button' + /> + <space size = '32'/> + <widget name = 'Close' + type = 'Button' + /> + </layout> + <widget name = 'HelpText' + height = '170' + /> + <widget name = 'Title' + height = 'Globals.Line.Height' + /> + </layout> + </dialog> +</layout_info> diff --git a/gui/themes/scummtheme.py b/gui/themes/scummtheme.py new file mode 100644 index 0000000000..202372cfea --- /dev/null +++ b/gui/themes/scummtheme.py @@ -0,0 +1,87 @@ +#!/usr/bin/env python +# encoding: utf-8 +import sys +import re +import os +import zipfile + +def buildTheme(themeName): + if not os.path.isdir(themeName): + print "Invalid theme name: " + themeName + return + + zf = zipfile.ZipFile(themeName + ".zip", 'w') + + print "Building '" + themeName + "' theme:" + os.chdir(themeName) + + for filename in os.listdir('.'): + if os.path.isfile(filename) and not filename[0] == '.': + zf.write(filename, './' + filename) + print " Adding file: " + filename + + os.chdir('../') + + zf.close() + +def buildAllThemes(): + for f in os.listdir('.'): + if os.path.isdir(os.path.join('.', f)) and not f[0] == '.': + buildTheme(f) + +def parseSTX(theme_file, def_file): + comm = re.compile("\/\*(.*?)\*\/", re.DOTALL) + + output = "" + for line in theme_file: + output += line.rstrip("\r\n\t ").lstrip() + " \n" + + output = re.sub(comm, "", output).replace("\t", " ").replace(" ", " ").replace("\"", "'").splitlines() + + for line in output: + if line and not line.isspace(): + def_file.write("\"" + line + "\"\n") + +def buildDefTheme(themeName): + def_file = open("default.inc", "w") + + if not os.path.isdir(themeName): + print "Cannot open default theme dir." + + for filename in os.listdir(themeName): + filename = os.path.join(themeName, filename) + if os.path.isfile(filename) and filename.endswith(".stx"): + theme_file = open(filename, "r") + parseSTX(theme_file, def_file) + theme_file.close() + + def_file.close() + +def printUsage(): + print "===============================" + print "ScummVM Theme Generation Script" + print "===============================" + print "Usage:" + print "scummtheme.py makeall" + print " Builds all the available themes.\n" + print "scummtheme.py make [themename]" + print " Builds the theme called 'themename'.\n" + print "scummtheme.py default [themename]" + print " Creates a 'default.inc' file to embed the given theme in the source code.\n" + +def main(): + + if len(sys.argv) == 2 and sys.argv[1] == "makeall": + buildAllThemes() + + elif len(sys.argv) == 3 and sys.argv[1] == "make": + buildTheme(sys.argv[2]) + + elif len(sys.argv) == 3 and sys.argv[1] == "default": + buildDefTheme(sys.argv[2]) + + else: + printUsage() + +if __name__ == "__main__": + sys.exit(main()) |