[Scummvm-cvs-logs] SF.net SVN: scummvm:[33684] scummvm/branches/gsoc2008-gui/gui

Tanoku at users.sourceforge.net Tanoku at users.sourceforge.net
Thu Aug 7 20:42:48 CEST 2008


Revision: 33684
          http://scummvm.svn.sourceforge.net/scummvm/?rev=33684&view=rev
Author:   Tanoku
Date:     2008-08-07 18:42:47 +0000 (Thu, 07 Aug 2008)

Log Message:
-----------
Misc text drawing improvements.
Added carets/text edit widgets.

Modified Paths:
--------------
    scummvm/branches/gsoc2008-gui/gui/EditTextWidget.cpp
    scummvm/branches/gsoc2008-gui/gui/PopUpWidget.cpp
    scummvm/branches/gsoc2008-gui/gui/ThemeParser.cpp
    scummvm/branches/gsoc2008-gui/gui/ThemeParser.h
    scummvm/branches/gsoc2008-gui/gui/ThemeRenderer.cpp
    scummvm/branches/gsoc2008-gui/gui/ThemeRenderer.h
    scummvm/branches/gsoc2008-gui/gui/themes/default.inc
    scummvm/branches/gsoc2008-gui/gui/themes/modern.stx

Modified: scummvm/branches/gsoc2008-gui/gui/EditTextWidget.cpp
===================================================================
--- scummvm/branches/gsoc2008-gui/gui/EditTextWidget.cpp	2008-08-07 18:36:47 UTC (rev 33683)
+++ scummvm/branches/gsoc2008-gui/gui/EditTextWidget.cpp	2008-08-07 18:42:47 UTC (rev 33684)
@@ -27,6 +27,8 @@
 #include "gui/eval.h"
 #include "gui/newgui.h"
 
+#include "gui/ThemeEval.h"
+
 namespace GUI {
 
 EditTextWidget::EditTextWidget(GuiObject *boss, int x, int y, int w, int h, const String &text)
@@ -52,10 +54,10 @@
 }
 
 void EditTextWidget::reflowLayout() {
-	_leftPadding = g_gui.evaluator()->getVar("EditTextWidget.leftPadding", 0);
-	_rightPadding = g_gui.evaluator()->getVar("EditTextWidget.rightPadding", 0);
+	_leftPadding = g_gui.xmlEval()->getVar("Globals.EditTextWidget.Padding.Left", 0);
+	_rightPadding = g_gui.xmlEval()->getVar("Globals.EditTextWidget.Padding.Right", 0);
 
-	_font = (Theme::FontStyle)g_gui.evaluator()->getVar("EditTextWidget.font", Theme::kFontStyleNormal);
+	_font = (Theme::FontStyle)g_gui.xmlEval()->getVar("EditTextWidget.Font", Theme::kFontStyleNormal);
 
 	EditableWidget::reflowLayout();
 }

Modified: scummvm/branches/gsoc2008-gui/gui/PopUpWidget.cpp
===================================================================
--- scummvm/branches/gsoc2008-gui/gui/PopUpWidget.cpp	2008-08-07 18:36:47 UTC (rev 33683)
+++ scummvm/branches/gsoc2008-gui/gui/PopUpWidget.cpp	2008-08-07 18:42:47 UTC (rev 33684)
@@ -30,6 +30,8 @@
 #include "gui/PopUpWidget.h"
 #include "engines/engine.h"
 
+#include "gui/ThemeEval.h"
+
 namespace GUI {
 
 //
@@ -380,9 +382,9 @@
 }
 
 void PopUpWidget::reflowLayout() {
-	_leftPadding = g_gui.evaluator()->getVar("PopUpWidget.leftPadding", 0);
-	_rightPadding = g_gui.evaluator()->getVar("PopUpWidget.rightPadding", 0);
-	_labelSpacing = g_gui.evaluator()->getVar("PopUpWidget.labelSpacing", 0);
+	_leftPadding = g_gui.xmlEval()->getVar("Globals.PopUpWidget.Padding.Left", 0);
+	_rightPadding = g_gui.xmlEval()->getVar("Globals.PopUpWidget.Padding.Right", 0);
+	_labelSpacing = g_gui.xmlEval()->getVar("Globals.PopUpWidget.labelSpacing", 10);
 
 	Widget::reflowLayout();
 }

Modified: scummvm/branches/gsoc2008-gui/gui/ThemeParser.cpp
===================================================================
--- scummvm/branches/gsoc2008-gui/gui/ThemeParser.cpp	2008-08-07 18:36:47 UTC (rev 33683)
+++ scummvm/branches/gsoc2008-gui/gui/ThemeParser.cpp	2008-08-07 18:42:47 UTC (rev 33684)
@@ -135,7 +135,7 @@
 	else if (!parseIntegerKey(node->values["color"].c_str(), 3, &red, &green, &blue))
 		return parserError("Error when parsing color value for font definition.");
 	
-	if (!_theme->addFont(node->values["id"], red, green, blue))
+	if (!_theme->addFont(node->values["id"], node->values["file"], red, green, blue))
 		return parserError("Error when loading Font in theme engine.");
 		
 	return true;

Modified: scummvm/branches/gsoc2008-gui/gui/ThemeParser.h
===================================================================
--- scummvm/branches/gsoc2008-gui/gui/ThemeParser.h	2008-08-07 18:36:47 UTC (rev 33683)
+++ scummvm/branches/gsoc2008-gui/gui/ThemeParser.h	2008-08-07 18:42:47 UTC (rev 33684)
@@ -343,7 +343,7 @@
 			XML_KEY(fonts)
 				XML_KEY(font)
 					XML_PROP(id, true)
-					XML_PROP(type, true)
+					XML_PROP(file, true)
 					XML_PROP(color, true)
 				KEY_END()
 			KEY_END()

Modified: scummvm/branches/gsoc2008-gui/gui/ThemeRenderer.cpp
===================================================================
--- scummvm/branches/gsoc2008-gui/gui/ThemeRenderer.cpp	2008-08-07 18:36:47 UTC (rev 33683)
+++ scummvm/branches/gsoc2008-gui/gui/ThemeRenderer.cpp	2008-08-07 18:42:47 UTC (rev 33684)
@@ -89,7 +89,8 @@
 	{kTextDataDisabled, "text_disabled"},
 	{kTextDataInverted, "text_inverted"},
 	{kTextDataButton, "text_button"},
-	{kTextDataButtonHover, "text_button_hover"}
+	{kTextDataButtonHover, "text_button_hover"},
+	{kTextDataNormalFont, "text_normal"}
 };
 
 
@@ -232,7 +233,7 @@
 	return true;
 }
 
-bool ThemeRenderer::addFont(const Common::String &fontId, int r, int g, int b) {
+bool ThemeRenderer::addFont(const Common::String &fontId, const Common::String &file, int r, int g, int b) {
 	TextData textId = getTextDataId(fontId);
 	
 	if (textId == -1)
@@ -243,9 +244,23 @@
 		
 	_texts[textId] = new TextDrawData;
 	
-	// TODO: Allow the user to specify the font he wants, instead of choosing based on resolution
-	_texts[textId]->_fontPtr = _font;
+//	_texts[textId]->_fontPtr = _font;
 	
+	if (file == "default") {
+		_texts[textId]->_fontPtr = _font;
+	} else {
+		_texts[textId]->_fontPtr = FontMan.getFontByName(file);
+
+		if (!_texts[textId]->_fontPtr) {
+			_texts[textId]->_fontPtr = loadFont(file.c_str());
+			
+			if (!_texts[textId]->_fontPtr)
+				error("Couldn't load %s font '%s'", fontId.c_str(), file.c_str());
+
+			FontMan.assignFontToName(file, _texts[textId]->_fontPtr);
+		}
+	}
+	
 	_texts[textId]->_color.r = r;
 	_texts[textId]->_color.g = g;
 	_texts[textId]->_color.b = b;
@@ -552,8 +567,12 @@
 void ThemeRenderer::drawCaret(const Common::Rect &r, bool erase, WidgetStateInfo state) {
 	if (!ready())
 		return;
-
-	debugWidgetPosition("Caret", r);
+	
+	if (erase) {
+		restoreBackground(r);
+		addDirtyRect(r);
+	} else
+		queueDD(kDDCaret, r);
 }
 
 void ThemeRenderer::drawPopUpWidget(const Common::Rect &r, const Common::String &sel, int deltax, WidgetStateInfo state, TextAlign align) {
@@ -636,19 +655,28 @@
 		queueDDText(kTextDataInverted, r, str, false, useEllipsis, align);
 		return;
 	}
+	
+	switch (font) {
+		case kFontStyleNormal:
+			queueDDText(kTextDataNormalFont, r, str, true, useEllipsis, align);
+			return;
+			
+		default:
+			break;
+	}
 
 	switch (state) {
 		case kStateDisabled:
 			queueDDText(kTextDataDisabled, r, str, true, useEllipsis, align);
-			break;
+			return;
 			
 		case kStateHighlight:
 			queueDDText(kTextDataHover, r, str, true, useEllipsis, align);
-			break;
+			return;
 		
 		case kStateEnabled:
 			queueDDText(kTextDataDefault, r, str, true, useEllipsis, align);
-			break;
+			return;
 	}
 }
 

Modified: scummvm/branches/gsoc2008-gui/gui/ThemeRenderer.h
===================================================================
--- scummvm/branches/gsoc2008-gui/gui/ThemeRenderer.h	2008-08-07 18:36:47 UTC (rev 33683)
+++ scummvm/branches/gsoc2008-gui/gui/ThemeRenderer.h	2008-08-07 18:42:47 UTC (rev 33684)
@@ -174,6 +174,7 @@
 		kTextDataInverted,
 		kTextDataButton,
 		kTextDataButtonHover,
+		kTextDataNormalFont,
 		kTextDataMAX
 	};
 	
@@ -264,10 +265,30 @@
 	/**
 	 *	FONT MANAGEMENT METHODS
 	 */
-	const Graphics::Font *getFont(FontStyle font) const { return _font; }
-	int getFontHeight(FontStyle font = kFontStyleBold) const { if (_initOk) return _font->getFontHeight(); return 0; }
-	int getStringWidth(const Common::String &str, FontStyle font) const { if (_initOk) return _font->getStringWidth(str); return 0; }
-	int getCharWidth(byte c, FontStyle font) const { if (_initOk) return _font->getCharWidth(c); return 0; }
+	
+	TextData fontStyleToData(FontStyle font) const {
+		switch (font) {
+			case kFontStyleNormal:
+				return kTextDataNormalFont;
+			
+			default:
+				return kTextDataDefault;
+		}
+	}
+	
+	const Graphics::Font *getFont(FontStyle font) const { return _texts[fontStyleToData(font)]->_fontPtr; }
+	
+	int getFontHeight(FontStyle font = kFontStyleBold) const { 
+		return ready() ? _texts[fontStyleToData(font)]->_fontPtr->getFontHeight() : 0;
+	}
+	
+	int getStringWidth(const Common::String &str, FontStyle font) const {
+		return ready() ? _texts[fontStyleToData(font)]->_fontPtr->getStringWidth(str) : 0;
+	}
+	
+	int getCharWidth(byte c, FontStyle font) const { 
+		return ready() ? _texts[fontStyleToData(font)]->_fontPtr->getCharWidth(c) : 0; 
+	}
 
 
 	/**
@@ -372,7 +393,7 @@
 	 *	@param cached Whether this DD set will be cached beforehand.
 	 */ 
 	bool addDrawData(const Common::String &data, bool cached);
-	bool addFont(const Common::String &fontName, int r, int g, int b);
+	bool addFont(const Common::String &fontName, const Common::String &file, int r, int g, int b);
 	
 	/**
 	 *	Adds a new TextStep from the ThemeParser. This will be deprecated/removed once the 
@@ -391,7 +412,7 @@
 	 *	this checks if the renderer is initialized AND if the theme
 	 *	is loaded.
 	 */
-	bool ready() {
+	bool ready() const {
 		return _initOk && _themeOk;
 	}
 

Modified: scummvm/branches/gsoc2008-gui/gui/themes/default.inc
===================================================================
--- scummvm/branches/gsoc2008-gui/gui/themes/default.inc	2008-08-07 18:36:47 UTC (rev 33683)
+++ scummvm/branches/gsoc2008-gui/gui/themes/default.inc	2008-08-07 18:42:47 UTC (rev 33684)
@@ -1 +1 @@
-"   <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> <fonts> <font id = 'text_default' type = 'default' color = 'black' /> <font id = 'text_hover' type = 'default' color = 'bgreen' /> <font id = 'text_disabled' type = 'default' color = '128, 128, 128' /> <font id = 'text_inverted' type = 'default' color = '0, 0, 0' /> <font id = 'text_button' type = 'default' color = 'white' /> <font id = 'text_button_hover' type = 'default' color = 'blandyellow' /> </fonts> <defaults fill = 'gradient' fg_color = 'white' bevel_color = '237, 169, 72'/> <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 = '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 = '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 = 'roundedsq' fill = 'gradient' radius = 4 fg_color = 'white' gradient_start = 'brightred' gradient_end = 'darkred' shadow = 0 bevel = 1 bevel_color = 'shadowcolor' /> </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' gradient_factor = 6 radius = '8' fill = 'gradient' gradient_start = '240, 224, 136' gradient_end = 'xtrabrightred' shadow = 3 /> </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 = 'Padding.Bottom' value = '16' /> <def var = 'Padding.Left' value = '16' /> <def var = 'Padding.Right' value = '16' /> <def var = 'Padding.Top' value = '16' /> <def var = 'ListWidget.hlLeftPadding' value = '8'/> <def var = 'ListWidget.hlRightPadding' value = '16'/> <widget name = 'OptionsLabel' size = '110, Globals.Line.Height' /> <widget name = 'Button' size = '120, 25' /> <widget name = 'Slider' size = '256, 32' /> <widget name = 'PopUp' size = '-1, 19' /> <widget name = 'Checkbox' size = '-1, Globals.Line.Height' /> <widget name = 'ListWidget' padding = '7, 5, 3, 3' /> <widget name = 'PopUpWidget' padding = '7, 5, 0, 0' /> <widget name = 'EditTextWidget' padding = '7, 5, 0, 0' /> <widget name = 'Console' padding = '7, 5, 5, 5' /> <widget name = 'TabWidget'> <child name = 'Tab' size = '75, 27' padding = '0, 0, 8, 0' /> <child name = 'NavButton' size = '15, 18' padding = '0, 3, 4, 0' /> </widget> </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' 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 = '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' /> <space/> </layout> <widget name = 'GameList'/> </layout> </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' width = '32' height = 'Globals.Line.Height' /> </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' width = '32' height = 'Globals.Line.Height' /> </layout> <layout type = 'horizontal' padding = '0, 0, 0, 0'> <widget name = 'vcSfxText' type = 'OptionsLabel' /> <widget name = 'vcSfxSlider' type = 'Slider' /> <widget name = 'vcSfxLabel' width = '32' height = 'Globals.Line.Height' /> </layout> <layout type = 'horizontal' padding = '0, 0, 0, 0'> <widget name = 'vcSpeechText' type = 'OptionsLabel' /> <widget name = 'vcSpeechSlider' type = 'Slider' /> <widget name = 'vcSpeechLabel' width = '32' height = 'Globals.Line.Height' /> </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> </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> </layout_info> "
+"   <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> <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'/> <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 = '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 = '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 = 'roundedsq' fill = 'gradient' radius = 4 fg_color = 'white' gradient_start = 'brightred' gradient_end = 'darkred' shadow = 0 bevel = 1 bevel_color = 'shadowcolor' /> </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' gradient_factor = 6 radius = '8' fill = 'gradient' gradient_start = '240, 224, 136' gradient_end = 'xtrabrightred' shadow = 3 /> </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 = 'Padding.Bottom' value = '16' /> <def var = 'Padding.Left' value = '16' /> <def var = 'Padding.Right' value = '16' /> <def var = 'Padding.Top' value = '16' /> <def var = 'ListWidget.hlLeftPadding' value = '8'/> <def var = 'ListWidget.hlRightPadding' value = '16'/> <def var = 'PopUpWidget.labelSpacing' value = '10' /> <widget name = 'OptionsLabel' size = '110, Globals.Line.Height' /> <widget name = 'Button' size = '120, 25' /> <widget name = 'Slider' size = '256, 32' /> <widget name = 'PopUp' size = '-1, 19' /> <widget name = 'Checkbox' size = '-1, Globals.Line.Height' /> <widget name = 'ListWidget' padding = '7, 5, 3, 3' /> <widget name = 'PopUpWidget' padding = '7, 5, 0, 0' /> <widget name = 'EditTextWidget' padding = '7, 5, 0, 0' /> <widget name = 'Console' padding = '7, 5, 5, 5' /> <widget name = 'TabWidget'> <child name = 'Tab' size = '75, 27' padding = '0, 0, 8, 0' /> <child name = 'NavButton' size = '15, 18' padding = '0, 3, 4, 0' /> </widget> </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' 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 = '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' /> <space/> </layout> <widget name = 'GameList'/> </layout> </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' width = '32' height = 'Globals.Line.Height' /> </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' width = '32' height = 'Globals.Line.Height' /> </layout> <layout type = 'horizontal' padding = '0, 0, 0, 0'> <widget name = 'vcSfxText' type = 'OptionsLabel' /> <widget name = 'vcSfxSlider' type = 'Slider' /> <widget name = 'vcSfxLabel' width = '32' height = 'Globals.Line.Height' /> </layout> <layout type = 'horizontal' padding = '0, 0, 0, 0'> <widget name = 'vcSpeechText' type = 'OptionsLabel' /> <widget name = 'vcSpeechSlider' type = 'Slider' /> <widget name = 'vcSpeechLabel' width = '32' height = 'Globals.Line.Height' /> </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> </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> </layout_info> "

Modified: scummvm/branches/gsoc2008-gui/gui/themes/modern.stx
===================================================================
--- scummvm/branches/gsoc2008-gui/gui/themes/modern.stx	2008-08-07 18:36:47 UTC (rev 33683)
+++ scummvm/branches/gsoc2008-gui/gui/themes/modern.stx	2008-08-07 18:42:47 UTC (rev 33684)
@@ -59,29 +59,33 @@
 
 	<fonts>
 		<font	id = 'text_default'
-				type = 'default'
+				file = 'default'
 				color = 'black'
 		/>
 		<font	id = 'text_hover'
-				type = 'default'
+				file = 'default'
 				color = 'bgreen'
 		/>
 		<font	id = 'text_disabled'
-				type = 'default'
+				file = 'default'
 				color = '128, 128, 128'
 		/>
 		<font	id = 'text_inverted'
-				type = 'default'
+				file = 'default'
 				color = '0, 0, 0'
 		/>
 		<font	id = 'text_button'
-				type = 'default'
+				file = 'default'
 				color = 'white'
 		/>
 		<font	id = 'text_button_hover'
-				type = 'default'
+				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'/>
@@ -298,10 +302,24 @@
 				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>
 	
-/* Tanoku-TODO: text editing width + CARET!
-/*	<drawdata id = 'widget_textedit' cache = false>
-		<drawstep	func = 'roundedsq' */
+	<drawdata id = 'caret' cache = false>
+		<drawstep	func = 'square'
+					fill = 'foreground'
+					fg_color = 'black'
+		/>
+	</drawdata>
 
 	<drawdata id = 'default_bg' cache = false>
 		<drawstep	func = 'roundedsq'
@@ -435,6 +453,7 @@
 		
 		<def var = 'ListWidget.hlLeftPadding' value = '8'/>
 		<def var = 'ListWidget.hlRightPadding' value = '16'/>
+		<def var = 'PopUpWidget.labelSpacing' value = '10' />
 
 		<widget name = 'OptionsLabel'
 				size = '110, Globals.Line.Height'


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list