summaryrefslogtreecommitdiffstats
path: root/twin/clients/redmond/redmond.h
diff options
context:
space:
mode:
Diffstat (limited to 'twin/clients/redmond/redmond.h')
-rw-r--r--twin/clients/redmond/redmond.h91
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;