Changed drawdata names to a struct.

Fixed text drawing.

svn-id: r33112
This commit is contained in:
Vicent Marti 2008-07-19 15:49:08 +00:00
parent cf3832fcce
commit b5081a02ec
2 changed files with 40 additions and 31 deletions

View file

@ -39,41 +39,42 @@ namespace GUI {
using namespace Graphics;
const char *ThemeRenderer::kDrawDataStrings[] = {
"mainmenu_bg",
"special_bg",
"plain_bg",
"default_bg",
"widget_default",
"widget_small",
"widget_textedit",
"widget_slider",
const ThemeRenderer::DrawDataInfo ThemeRenderer::kDrawData[] = {
{kDDMainDialogBackground, "mainmenu_bg", true},
{kDDSpecialColorBackground, "special_bg", true},
{kDDPlainColorBackground, "plain_bg", true},
{kDDDefaultBackground, "default_bg", true},
"button_idle",
"button_hover",
"button_disabled",
{kDDWidgetBackgroundDefault, "widget_default", true},
{kDDWidgetBackgroundSmall, "widget_small", true},
{kDDWidgetBackgroundEditText, "widget_textedit", true},
{kDDWidgetBackgroundSlider, "widget_slider", true},
"slider_full",
"slider_empty",
{kDDButtonIdle, "button_idle", true},
{kDDButtonHover, "button_hover", false},
{kDDButtonDisabled, "button_disabled", true},
"checkbox_enabled",
"checkbox_disabled",
{kDDSliderFull,"slider_full", false},
{kDDSliderEmpty, "slider_empty", true},
"tab_active",
"tab_inactive",
{kDDCheckboxEnabled, "checkbox_enabled", false},
{kDDCheckboxDisabled, "checkbox_disabled", true},
"scrollbar_base",
"scrollbar_handle",
{kDDTabActive, "tab_active", false},
{kDDTabInactive, "tab_inactive", true},
"popup_idle",
"popup_hover",
"caret",
"separator",
"default_text"
{kDDScrollbarBase, "scrollbar_base", true},
{kDDScrollbarHandle, "scrollbar_handle", false},
{kDDPopUpIdle, "popup_idle", true},
{kDDPopUpHover, "popup_hover", false},
{kDDCaret, "caret", false},
{kDDSeparator, "separator", true},
{kDDDefaultText, "default_text", false}
};
ThemeRenderer::ThemeRenderer(Common::String themeName, GraphicsMode mode) :
_vectorRenderer(0), _system(0), _graphicsMode(kGfxDisabled),
_screen(0), _backBuffer(0), _bytesPerPixel(0), _initOk(false),
@ -523,6 +524,7 @@ void ThemeRenderer::drawText(const Common::Rect &r, const Common::String &str, W
if (!_initOk)
return;
restoreBackground(r);
getFont(font)->drawString(_screen, str, r.left, r.top, r.width(), getTextColor(state), convertAligment(align), deltax, useEllipsis);
addDirtyRect(r);
}