Reverted previous commit.
svn-id: r36226
This commit is contained in:
parent
30189f09d9
commit
108d4cfbd0
6 changed files with 44 additions and 18 deletions
|
@ -139,20 +139,29 @@ void GuiManager::redraw() {
|
|||
if (_dialogStack.empty())
|
||||
return;
|
||||
|
||||
if (_dialogStack.size() > 1) {
|
||||
_theme->clearAll();
|
||||
_theme->openDialog(true);
|
||||
switch (_redrawStatus) {
|
||||
case kRedrawCloseDialog:
|
||||
case kRedrawFull:
|
||||
case kRedrawTopDialog:
|
||||
_theme->clearAll();
|
||||
_theme->openDialog(true);
|
||||
|
||||
for (i = 0; i < _dialogStack.size() - 1; i++)
|
||||
_dialogStack[i]->drawDialog();
|
||||
for (i = 0; i < _dialogStack.size() - 1; i++) {
|
||||
_dialogStack[i]->drawDialog();
|
||||
}
|
||||
|
||||
_theme->finishBuffering();
|
||||
_theme->updateScreen();
|
||||
}
|
||||
_theme->finishBuffering();
|
||||
|
||||
_theme->openDialog(true, (ThemeEngine::ShadingStyle)xmlEval()->getVar("Dialog." + _dialogStack.top()->_name + ".Shading", 0));
|
||||
_dialogStack.top()->drawDialog();
|
||||
_theme->finishBuffering();
|
||||
case kRedrawOpenDialog:
|
||||
_theme->updateScreen();
|
||||
_theme->openDialog(true, (ThemeEngine::ShadingStyle)xmlEval()->getVar("Dialog." + _dialogStack.top()->_name + ".Shading", 0));
|
||||
_dialogStack.top()->drawDialog();
|
||||
_theme->finishBuffering();
|
||||
break;
|
||||
|
||||
default:
|
||||
return;
|
||||
}
|
||||
|
||||
_theme->updateScreen();
|
||||
_redrawStatus = kRedrawDisabled;
|
||||
|
@ -238,6 +247,8 @@ void GuiManager::runLoop() {
|
|||
if (_useStdCursor)
|
||||
setupCursor();
|
||||
|
||||
// _theme->refresh();
|
||||
|
||||
_themeChange = false;
|
||||
_redrawStatus = kRedrawFull;
|
||||
redraw();
|
||||
|
@ -336,7 +347,8 @@ void GuiManager::restoreState() {
|
|||
|
||||
void GuiManager::openDialog(Dialog *dialog) {
|
||||
_dialogStack.push(dialog);
|
||||
_redrawStatus = kRedrawFull;
|
||||
if (_redrawStatus != kRedrawFull)
|
||||
_redrawStatus = kRedrawOpenDialog;
|
||||
|
||||
// We reflow the dialog just before opening it. If the screen changed
|
||||
// since the last time we looked, also refresh the loaded theme,
|
||||
|
@ -352,7 +364,8 @@ void GuiManager::closeTopDialog() {
|
|||
|
||||
// Remove the dialog from the stack
|
||||
_dialogStack.pop();
|
||||
_redrawStatus = kRedrawFull;
|
||||
if (_redrawStatus != kRedrawFull)
|
||||
_redrawStatus = kRedrawCloseDialog;
|
||||
}
|
||||
|
||||
void GuiManager::setupCursor() {
|
||||
|
|
|
@ -91,6 +91,9 @@ public:
|
|||
protected:
|
||||
enum RedrawStatus {
|
||||
kRedrawDisabled = 0,
|
||||
kRedrawOpenDialog,
|
||||
kRedrawCloseDialog,
|
||||
kRedrawTopDialog,
|
||||
kRedrawFull
|
||||
};
|
||||
|
||||
|
|
|
@ -43,7 +43,7 @@ enum {
|
|||
*/
|
||||
|
||||
BrowserDialog::BrowserDialog(const char *title, bool dirBrowser)
|
||||
: Dialog("Browser") {
|
||||
: Dialog("browser") {
|
||||
_titleRef = CFStringCreateWithCString(0, title, CFStringGetSystemEncoding());
|
||||
_isDirBrowser = dirBrowser;
|
||||
}
|
||||
|
|
|
@ -131,7 +131,11 @@ void Dialog::releaseFocus() {
|
|||
}
|
||||
|
||||
void Dialog::draw() {
|
||||
g_gui._redrawStatus = GUI::GuiManager::kRedrawFull;
|
||||
//TANOKU - FIXME when is this enabled? what does this do?
|
||||
// Update: called on tab drawing, mainly...
|
||||
// we can pass this as open a new dialog or something
|
||||
// g_gui._needRedraw = true;
|
||||
g_gui._redrawStatus = GUI::GuiManager::kRedrawTopDialog;
|
||||
}
|
||||
|
||||
void Dialog::drawDialog() {
|
||||
|
|
|
@ -251,8 +251,6 @@ void OptionsDialog::open() {
|
|||
|
||||
_subMode = getSubtitleMode(ConfMan.getBool("subtitles", _domain), ConfMan.getBool("speech_mute", _domain));
|
||||
_subToggleButton->setLabel(_subModeDesc[_subMode]);
|
||||
_subToggleButton->draw();
|
||||
|
||||
|
||||
// Engines that reuse the subtitle speed widget set their own max value.
|
||||
// Scale the config value accordingly (see addSubtitleControls)
|
||||
|
|
|
@ -199,7 +199,15 @@ void StaticTextWidget::setValue(int value) {
|
|||
|
||||
void StaticTextWidget::setLabel(const Common::String &label) {
|
||||
_label = label;
|
||||
this->draw();
|
||||
|
||||
// get parent's size
|
||||
const uint16 w = _boss->getWidth();
|
||||
const uint16 h = _boss->getHeight();
|
||||
const int16 x = _boss->getAbsX();
|
||||
const int16 y = _boss->getAbsY();
|
||||
|
||||
// restore the parent's background and redraw it again.
|
||||
g_gui.theme()->restoreBackground(Common::Rect(x, y, x + w, y + h));
|
||||
_boss->draw();
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue