summaryrefslogtreecommitdiffstats
path: root/twin/clients/laptop/laptopclient.h
diff options
context:
space:
mode:
Diffstat (limited to 'twin/clients/laptop/laptopclient.h')
-rw-r--r--twin/clients/laptop/laptopclient.h76
1 files changed, 76 insertions, 0 deletions
diff --git a/twin/clients/laptop/laptopclient.h b/twin/clients/laptop/laptopclient.h
new file mode 100644
index 000000000..de6e742f6
--- /dev/null
+++ b/twin/clients/laptop/laptopclient.h
@@ -0,0 +1,76 @@
+/*
+ * Laptop KWin Client
+ *
+ * Copyright (c) 2005 Sandro Giessl <sandro@giessl.com>
+ * Ported to the trinity.2 API by Luciano Montanaro <mikelima@cirulla.net>
+ */
+#ifndef __KDECLIENT_H
+#define __KDECLIENT_H
+
+#include <tqbitmap.h>
+#include <kpixmap.h>
+#include <kcommondecoration.h>
+#include <kdecorationfactory.h>
+
+namespace Laptop {
+
+class LaptopClient;
+
+class LaptopButton : public KCommonDecorationButton
+{
+public:
+ LaptopButton(ButtonType type, LaptopClient *parent, const char *name);
+ void setBitmap(const unsigned char *bitmap);
+ virtual void reset(unsigned long changed);
+
+protected:
+ virtual void drawButton(TQPainter *p);
+ TQBitmap deco;
+};
+
+class LaptopClient : public KCommonDecoration
+{
+public:
+ LaptopClient( KDecorationBridge* b, KDecorationFactory* f );
+ ~LaptopClient();
+
+ 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);
+
+ virtual TQRegion cornerShape(WindowCorner corner);
+
+ void init();
+protected:
+ void paintEvent( TQPaintEvent* );
+ void reset( unsigned long );
+ void updateActiveBuffer();
+ void captionChange();
+private:
+ bool mustDrawHandle() const;
+ bool isTransient() const;
+private:
+ KPixmap activeBuffer;
+ int lastBufferWidth;
+ bool bufferDirty;
+};
+
+class LaptopClientFactory : public TQObject, public KDecorationFactory
+{
+public:
+ LaptopClientFactory();
+ virtual ~LaptopClientFactory();
+ virtual KDecoration* createDecoration( KDecorationBridge* );
+ virtual bool reset( unsigned long changed );
+ virtual bool supports( Ability ability );
+ virtual TQValueList< BorderSize > borderSizes() const;
+private:
+ void findPreferredHandleSize();
+};
+
+}
+
+#endif