diff options
Diffstat (limited to 'twin/clients/redmond/redmond.h')
-rw-r--r-- | twin/clients/redmond/redmond.h | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/twin/clients/redmond/redmond.h b/twin/clients/redmond/redmond.h new file mode 100644 index 000000000..e5f15b8ba --- /dev/null +++ b/twin/clients/redmond/redmond.h @@ -0,0 +1,91 @@ +/* + * + * Redmond KWin client + * + * Copyright 2001-2003 + * Ported to twin_iii by Chris Lee <clee@kde.org> + * Karol Szwed <gallium@kde.org> + * http://gallium.n3.net/ + * + * Based on the default KWin client. + * + * Updated to support the new API 9/2003 (CL) + * Updated to emulate More Accurately 9/2003 (CL) + * Updated to support toolwindows 3/2001 (KS) + * + */ + +#ifndef __KDE_REDMOND_H +#define __KDE_REDMOND_H + +#include <tqbitmap.h> +#include <kpixmap.h> +#include <kcommondecoration.h> +#include <kdecorationfactory.h> + +namespace Redmond { + +class RedmondDeco; + +class RedmondButton : public KCommonDecorationButton +{ + Q_OBJECT +public: + RedmondButton(ButtonType type, RedmondDeco *parent, const char *name); + void setBitmap(const unsigned char *bitmap); + void setPixmap(const TQPixmap &p); + void reset(unsigned long changed); + +protected: + virtual void drawButton(TQPainter *p); + void drawButtonLabel(TQPainter *){;} + + TQBitmap deco; + TQPixmap pix; + bool miniBtn; +}; + + +class RedmondDeco : public KCommonDecoration +{ +public: + RedmondDeco(KDecorationBridge *, KDecorationFactory *); + ~RedmondDeco() {;} + + virtual TQString visibleName() const; + virtual TQString defaultButtonsLeft() const; + virtual TQString defaultButtonsRight() const; + virtual bool decorationBehaviour(DecorationBehaviour behaviour) const; + virtual int layoutMetric(LayoutMetric lm, bool respectWindowState = true, const KCommonDecorationButton * = 0) const; + virtual KCommonDecorationButton *createButton(ButtonType type); + + void init(); + +protected: + virtual void reset( unsigned long changed ); + + void paintEvent(TQPaintEvent*); + +private: + int titleHeight; +}; + +class RedmondDecoFactory : public TQObject, public KDecorationFactory +{ + Q_OBJECT +public: + RedmondDecoFactory(); + virtual ~RedmondDecoFactory(); + virtual KDecoration *createDecoration(KDecorationBridge *); + virtual bool reset(unsigned long); + virtual bool supports( Ability ability ); + virtual TQValueList< BorderSize > borderSizes() const; +private: + void readConfig(); +}; + +} + +#endif +// vim: ts=4 +// kate: space-indent off; tab-width 4; |