aboutsummaryrefslogtreecommitdiff
path: root/gui/ThemeEngine.h
diff options
context:
space:
mode:
authorEugene Sandulenko2014-05-09 19:00:49 +0300
committerAlexander Tkachev2016-08-24 16:07:55 +0600
commit75f9b099dc3e198c7a1750a6e26ac4945719492f (patch)
treea5d3f2f00771456d6bd5402175918debc20a0dc8 /gui/ThemeEngine.h
parent38114eb760f842eb3145c9d1af62366cf2fab8ca (diff)
downloadscummvm-rg350-75f9b099dc3e198c7a1750a6e26ac4945719492f.tar.gz
scummvm-rg350-75f9b099dc3e198c7a1750a6e26ac4945719492f.tar.bz2
scummvm-rg350-75f9b099dc3e198c7a1750a6e26ac4945719492f.zip
GUI: Added possibility to specify scale mode for AlphaBitmaps
Diffstat (limited to 'gui/ThemeEngine.h')
-rw-r--r--gui/ThemeEngine.h13
1 files changed, 10 insertions, 3 deletions
diff --git a/gui/ThemeEngine.h b/gui/ThemeEngine.h
index ccc5e03f92..625bab7a1b 100644
--- a/gui/ThemeEngine.h
+++ b/gui/ThemeEngine.h
@@ -225,6 +225,14 @@ public:
kShadingLuminance ///< Converting colors to luminance for unused areas
};
+ /// AlphaBitmap scale mode selector
+ enum AutoScaleMode {
+ kAutoScaleNone = 0, ///< Use image dimensions
+ kAutoScaleStretch = 1, ///< Stretch image to full widget size
+ kAutoScaleFit = 2, ///< Scale image to widget size but keep aspect ratio
+ kAutoScaleNinePatch = 3 ///< 9-patch image
+ };
+
// Special image ids for images used in the GUI
static const char *const kImageLogo; ///< ScummVM logo used in the launcher
static const char *const kImageLogoSmall; ///< ScummVM logo used in the GMM
@@ -355,8 +363,7 @@ public:
void drawSurfaceClip(const Common::Rect &r, const Common::Rect &clippingRect, const Graphics::Surface &surface,
WidgetStateInfo state = kStateEnabled, int alpha = 255, bool themeTrans = false);
- void drawASurface(const Common::Rect &r, Graphics::TransparentSurface &surface,
- WidgetStateInfo state = kStateEnabled, int alpha = 256, bool themeTrans = false);
+ void drawASurface(const Common::Rect &r, Graphics::TransparentSurface &surface, AutoScaleMode autoscale);
void drawSlider(const Common::Rect &r, int width,
WidgetStateInfo state = kStateEnabled);
@@ -637,7 +644,7 @@ protected:
bool elipsis, Graphics::TextAlign alignH = Graphics::kTextAlignLeft, TextAlignVertical alignV = kTextAlignVTop, int deltax = 0, const Common::Rect &drawableTextArea = Common::Rect(0, 0, 0, 0));
void queueBitmap(const Graphics::Surface *bitmap, const Common::Rect &r, bool alpha);
void queueBitmapClip(const Graphics::Surface *bitmap, const Common::Rect &clippingRect, const Common::Rect &r, bool alpha);
- void queueABitmap(Graphics::TransparentSurface *bitmap, const Common::Rect &r, bool alpha);
+ void queueABitmap(Graphics::TransparentSurface *bitmap, const Common::Rect &r, AutoScaleMode autoscale);
/**
* DEBUG: Draws a white square and writes some text next to it.