mirror of
https://github.com/libretro/scummvm.git
synced 2025-04-02 14:51:40 +00:00
Added ScummVM logo to GMM.
svn-id: r34537
This commit is contained in:
parent
5fdd883327
commit
41312a0ead
@ -35,6 +35,7 @@
|
||||
#include "gui/eval.h"
|
||||
#include "gui/newgui.h"
|
||||
#include "gui/ListWidget.h"
|
||||
#include "gui/theme.h"
|
||||
|
||||
#include "engines/dialogs.h"
|
||||
#include "engines/engine.h"
|
||||
@ -77,7 +78,18 @@ enum {
|
||||
MainMenuDialog::MainMenuDialog(Engine *engine)
|
||||
: GlobalDialog("globalmain"), _engine(engine) {
|
||||
|
||||
#ifndef DISABLE_FANCY_THEMES
|
||||
_logo = 0;
|
||||
if (g_gui.evaluator()->getVar("global_logo.visible") == 1 && g_gui.theme()->supportsImages()) {
|
||||
_logo = new GUI::GraphicsWidget(this, "global_logo");
|
||||
_logo->useThemeTransparency(true);
|
||||
_logo->setGfx(g_gui.theme()->getImageSurface(GUI::Theme::kImageLogoSmall));
|
||||
} else {
|
||||
new StaticTextWidget(this, "global_title", "ScummVM");
|
||||
}
|
||||
#else
|
||||
new StaticTextWidget(this, "global_title", "ScummVM");
|
||||
#endif
|
||||
|
||||
new StaticTextWidget(this, "global_version", gScummVMVersionDate);
|
||||
|
||||
@ -136,6 +148,37 @@ void MainMenuDialog::handleCommand(CommandSender *sender, uint32 cmd, uint32 dat
|
||||
}
|
||||
}
|
||||
|
||||
void MainMenuDialog::reflowLayout() {
|
||||
#ifndef DISABLE_FANCY_THEMES
|
||||
if (g_gui.evaluator()->getVar("global_logo.visible") == 1 && g_gui.theme()->supportsImages()) {
|
||||
if (!_logo)
|
||||
_logo = new GUI::GraphicsWidget(this, "global_logo");
|
||||
_logo->useThemeTransparency(true);
|
||||
_logo->setGfx(g_gui.theme()->getImageSurface(GUI::Theme::kImageLogoSmall));
|
||||
|
||||
GUI::StaticTextWidget *title = (StaticTextWidget *)findWidget("global_title");
|
||||
if (title) {
|
||||
removeWidget(title);
|
||||
title->setNext(0);
|
||||
delete title;
|
||||
}
|
||||
} else {
|
||||
GUI::StaticTextWidget *title = (StaticTextWidget *)findWidget("global_title");
|
||||
if (!title)
|
||||
new StaticTextWidget(this, "global_title", "ScummVM");
|
||||
|
||||
if (_logo) {
|
||||
removeWidget(_logo);
|
||||
_logo->setNext(0);
|
||||
delete _logo;
|
||||
_logo = 0;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
Dialog::reflowLayout();
|
||||
}
|
||||
|
||||
enum {
|
||||
kOKCmd = 'ok '
|
||||
};
|
||||
|
@ -49,9 +49,12 @@ public:
|
||||
|
||||
virtual void handleCommand(GUI::CommandSender *sender, uint32 cmd, uint32 data);
|
||||
|
||||
virtual void reflowLayout();
|
||||
|
||||
protected:
|
||||
Engine *_engine;
|
||||
|
||||
GUI::GraphicsWidget *_logo;
|
||||
GUI::ButtonWidget *_rtlButton;
|
||||
GUI::Dialog *_aboutDialog;
|
||||
GUI::Dialog *_optionsDialog;
|
||||
|
@ -1159,6 +1159,15 @@ OverlayColor ThemeModern::getColor(State state) {
|
||||
return _colors[kColorStateEnabled];
|
||||
}
|
||||
|
||||
const Graphics::Surface *ThemeModern::getImageSurface(const kThemeImages n) const {
|
||||
if (n == kImageLogo)
|
||||
return _images[kThemeLogo];
|
||||
else if (n == kImageLogoSmall)
|
||||
return _images[kThemeLogoSmall];
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
void ThemeModern::resetupGuiRenderer() {
|
||||
if (_lastUsedBitMask == gBitFormat || !_initOk) {
|
||||
// ok same format no need to reload
|
||||
@ -1334,6 +1343,7 @@ void ThemeModern::processExtraValues() {
|
||||
_imageHandles[kWidgetArrow] = _evaluator->getStringVar("pix_widget_arrow");
|
||||
|
||||
_imageHandles[kThemeLogo] = _evaluator->getStringVar("pix_theme_logo");
|
||||
_imageHandles[kThemeLogoSmall] = _evaluator->getStringVar("pix_theme_logo_small");
|
||||
|
||||
_imageHandles[kGUICursor] = _evaluator->getStringVar("pix_cursor_image");
|
||||
|
||||
|
@ -82,7 +82,7 @@ public:
|
||||
int getTabPadding() const;
|
||||
|
||||
bool supportsImages() const { return true; }
|
||||
const Graphics::Surface *getImageSurface(const kThemeImages n) const { return n == kImageLogo ? _images[kThemeLogo] : 0; }
|
||||
const Graphics::Surface *getImageSurface(const kThemeImages n) const;
|
||||
private:
|
||||
void colorFade(const Common::Rect &r, OverlayColor start, OverlayColor end, uint factor = 1);
|
||||
void drawRect(const Common::Rect &r, const Graphics::Surface *corner, const Graphics::Surface *top,
|
||||
@ -193,18 +193,19 @@ private:
|
||||
kWidgetSmallBkgd = 38,
|
||||
|
||||
kThemeLogo = 39,
|
||||
kThemeLogoSmall = 40,
|
||||
|
||||
kPopUpWidgetBkgdCorner = 40,
|
||||
kPopUpWidgetBkgdTop = 41,
|
||||
kPopUpWidgetBkgdLeft = 42,
|
||||
kPopUpWidgetBkgd = 43,
|
||||
kPopUpWidgetBkgdCorner = 41,
|
||||
kPopUpWidgetBkgdTop = 42,
|
||||
kPopUpWidgetBkgdLeft = 43,
|
||||
kPopUpWidgetBkgd = 44,
|
||||
|
||||
kEditTextBkgdCorner = 44,
|
||||
kEditTextBkgdTop = 45,
|
||||
kEditTextBkgdLeft = 46,
|
||||
kEditTextBkgd = 47,
|
||||
kEditTextBkgdCorner = 45,
|
||||
kEditTextBkgdTop = 46,
|
||||
kEditTextBkgdLeft = 47,
|
||||
kEditTextBkgd = 48,
|
||||
|
||||
kGUICursor = 48,
|
||||
kGUICursor = 49,
|
||||
|
||||
kImageHandlesMax
|
||||
};
|
||||
|
@ -356,7 +356,8 @@ public:
|
||||
|
||||
//! Special image ids for images used in the GUI
|
||||
enum kThemeImages {
|
||||
kImageLogo = 0 //! ScummVM Logo used in the launcher
|
||||
kImageLogo = 0, //! ScummVM Logo used in the launcher
|
||||
kImageLogoSmall //! ScummVM logo used in the GMM
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -67,6 +67,7 @@ pix_edittext_bkgd_left="button_bkgd_left.bmp"
|
||||
pix_edittext_bkgd_bkgd="button_bkgd.bmp"
|
||||
|
||||
pix_theme_logo="logo.bmp"
|
||||
pix_theme_logo_small="logo_small.bmp"
|
||||
|
||||
pix_cursor_image="cursor.bmp"
|
||||
|
||||
@ -260,6 +261,30 @@ launcher_quit_button=prev.x (prev.y2 + space1) prev.w prev.h
|
||||
|
||||
use=scummmain
|
||||
|
||||
#### Global Main Menu Dialog
|
||||
# note that globalmain size depends on overall height
|
||||
hBorder=10
|
||||
gmW=(scummmainButtonWidth + (2 * scummmainHOffset) + 80)
|
||||
global_logo=((gmW - 142) / 2) 25 142 40
|
||||
global_logo.visible=true
|
||||
global_version=hBorder (prev.y + prev.h) (gmW - 2 * hBorder) kLineHeight
|
||||
global_version.align=kTextAlignCenter
|
||||
gmY=((scummmainVSpace * 7)+ scummmainVAddOff)
|
||||
globalmain_resume=globalmainHOffset gmY scummmainButtonWidth scummmainButtonHeight
|
||||
gmY=(gmY + scummmainButtonHeight + scummmainVAddOff)
|
||||
gmY=(gmY + scummmainVSpace)
|
||||
globalmain_options=prev.x gmY prev.w prev.h
|
||||
gmY=(gmY + scummmainButtonHeight + scummmainVAddOff)
|
||||
globalmain_about=prev.x gmY prev.w prev.h
|
||||
gmY=(gmY + scummmainButtonHeight + scummmainVAddOff)
|
||||
gmY=(gmY + scummmainVSpace)
|
||||
globalmain_rtl=prev.x gmY prev.w prev.h
|
||||
gmY=(gmY + scummmainButtonHeight + scummmainVAddOff)
|
||||
globalmain_quit=prev.x gmY prev.w prev.h
|
||||
gmY=(gmY + scummmainButtonHeight + scummmainVAddOff)
|
||||
gmH=(gmY + scummmainVSpace)
|
||||
globalmain=((w - gmW) / 2) ((h - gmH) / 2) gmW gmH
|
||||
|
||||
### global options
|
||||
globaloptions=insetX insetY insetW insetH
|
||||
set_parent=globaloptions
|
||||
|
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user