2011-02-24 16:37:04 +00:00
|
|
|
#ifndef oxygendecohelper_h
|
|
|
|
#define oxygendecohelper_h
|
2010-03-04 22:49:18 +00:00
|
|
|
|
|
|
|
/*
|
|
|
|
* Copyright 2008 Long Huynh Huu <long.upcase@googlemail.com>
|
|
|
|
* Copyright 2007 Matthew Woehlke <mw_triad@users.sourceforge.net>
|
|
|
|
* Copyright 2007 Casper Boemann <cbr@boemann.dk>
|
|
|
|
*
|
|
|
|
* This library is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU Library General Public
|
|
|
|
* License version 2 as published by the Free Software Foundation.
|
|
|
|
*
|
|
|
|
* This library is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
* Library General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU Library General Public License
|
|
|
|
* along with this library; see the file COPYING.LIB. If not, write to
|
|
|
|
* the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
|
|
|
* Boston, MA 02110-1301, USA.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include "oxygenhelper.h"
|
|
|
|
|
|
|
|
//! helper class
|
|
|
|
/*! contains utility functions used at multiple places in oxygen style */
|
2010-05-02 18:50:01 +00:00
|
|
|
namespace Oxygen
|
2010-03-04 22:49:18 +00:00
|
|
|
{
|
2010-09-16 01:24:56 +00:00
|
|
|
|
2010-05-10 16:36:56 +00:00
|
|
|
class DecoHelper : public Helper
|
2010-05-02 18:50:01 +00:00
|
|
|
{
|
2010-03-04 22:49:18 +00:00
|
|
|
|
2010-05-02 18:50:01 +00:00
|
|
|
public:
|
2010-03-04 22:49:18 +00:00
|
|
|
|
2010-08-28 19:58:22 +00:00
|
|
|
//! constructor
|
2012-12-29 06:34:38 +00:00
|
|
|
explicit DecoHelper(const QByteArray &componentName);
|
2010-08-28 19:58:22 +00:00
|
|
|
|
|
|
|
//! destructor
|
|
|
|
virtual ~DecoHelper()
|
|
|
|
{}
|
|
|
|
|
2010-09-16 01:24:56 +00:00
|
|
|
//! dynamically allocated debug area
|
|
|
|
int debugArea( void ) const
|
2011-02-24 16:08:41 +00:00
|
|
|
{ return _debugArea; }
|
2010-09-16 01:24:56 +00:00
|
|
|
|
2010-08-28 19:58:22 +00:00
|
|
|
//! reset all caches
|
|
|
|
virtual void invalidateCaches();
|
2010-03-04 22:49:18 +00:00
|
|
|
|
2010-05-02 18:50:01 +00:00
|
|
|
//!@name decoration specific helper functions
|
|
|
|
//!
|
|
|
|
//@{
|
2011-09-15 19:55:52 +00:00
|
|
|
virtual QPixmap windecoButton(const QColor &color, const QColor& glow, bool sunken, int size = 21);
|
2010-05-02 18:50:01 +00:00
|
|
|
//@}
|
2010-03-04 22:49:18 +00:00
|
|
|
|
2010-08-28 19:58:22 +00:00
|
|
|
//
|
2010-05-10 01:56:24 +00:00
|
|
|
virtual QRegion decoRoundedMask( const QRect&, int left = 1, int right = 1, int top = 1, int bottom = 1 ) const;
|
|
|
|
|
2010-08-28 19:58:22 +00:00
|
|
|
//! title bar text color
|
|
|
|
const QColor& inactiveTitleBarTextColor( const QPalette& );
|
|
|
|
|
2011-04-28 15:28:46 +00:00
|
|
|
//! button text color
|
|
|
|
const QColor& inactiveButtonTextColor( const QPalette& );
|
|
|
|
|
2010-08-28 19:58:22 +00:00
|
|
|
protected:
|
|
|
|
|
|
|
|
//! reduce contrast between two colors
|
|
|
|
QColor reduceContrast(const QColor&, const QColor&, double) const;
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
2010-09-16 01:24:56 +00:00
|
|
|
//! dynamically allocated debug area
|
2011-02-24 16:08:41 +00:00
|
|
|
int _debugArea;
|
2010-09-16 01:24:56 +00:00
|
|
|
|
2011-09-15 19:55:52 +00:00
|
|
|
//! windeco buttons
|
|
|
|
Cache<QPixmap> _windecoButtonCache;
|
|
|
|
|
2010-08-28 19:58:22 +00:00
|
|
|
//! titleBar text color cache
|
2011-02-24 16:08:41 +00:00
|
|
|
ColorCache _titleBarTextColorCache;
|
2010-08-28 19:58:22 +00:00
|
|
|
|
2011-04-28 15:28:46 +00:00
|
|
|
//! button text color cache
|
|
|
|
ColorCache _buttonTextColorCache;
|
|
|
|
|
2010-05-02 18:50:01 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
}
|
2010-03-04 22:49:18 +00:00
|
|
|
|
|
|
|
#endif // __OXYGEN_STYLE_HELPER_H
|