From 1031587ed2e4623d622bcc602c262290e14ea4c5 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Wed, 12 Sep 2012 20:35:30 +0300 Subject: Add for windows close button hover image. New theme parameter "closeImageHighlighted". It have attributes same as "closeImage". --- src/gui/theme.cpp | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) (limited to 'src/gui/theme.cpp') diff --git a/src/gui/theme.cpp b/src/gui/theme.cpp index 99dac7887..fe1591de2 100644 --- a/src/gui/theme.cpp +++ b/src/gui/theme.cpp @@ -69,12 +69,19 @@ Skin::Skin(const ImageRect &skin, const ImageRect &images, mName(name), mBorder(skin), mCloseImage(images.grid[0]), - mStickyImageUp(images.grid[1]), - mStickyImageDown(images.grid[2]), + mCloseImageHighlighted(images.grid[1]), + mStickyImageUp(images.grid[2]), + mStickyImageDown(images.grid[3]), mPadding(padding), mTitlePadding(titlePadding), mOptions(options) { + if (!mCloseImageHighlighted) + { + mCloseImageHighlighted = mCloseImage; + if (mCloseImageHighlighted) + mCloseImageHighlighted->incRef(); + } } Skin::~Skin() @@ -95,6 +102,12 @@ Skin::~Skin() mCloseImage = nullptr; } + if (mCloseImageHighlighted) + { + mCloseImageHighlighted->decRef(); + mCloseImageHighlighted = nullptr; + } + if (mStickyImageUp) { mStickyImageUp->decRef(); @@ -125,6 +138,8 @@ void Skin::updateAlpha(float minimumOpacityAllowed) if (mCloseImage) mCloseImage->setAlpha(alpha); + if (mCloseImageHighlighted) + mCloseImageHighlighted->setAlpha(alpha); if (mStickyImageUp) mStickyImageUp->setAlpha(alpha); if (mStickyImageDown) @@ -370,8 +385,9 @@ static const SkinParameter skinParam[] = static const SkinParameter imageParam[] = { {0, "closeImage"}, - {1, "stickyImageUp"}, - {2, "stickyImageDown"}, + {1, "closeImageHighlighted"}, + {2, "stickyImageUp"}, + {3, "stickyImageDown"}, }; struct SkinHelper -- cgit v1.2.3-60-g2f50