summaryrefslogtreecommitdiffstats
path: root/kwin-styles/smooth-blend/client/smoothblend.h
diff options
context:
space:
mode:
Diffstat (limited to 'kwin-styles/smooth-blend/client/smoothblend.h')
-rw-r--r--kwin-styles/smooth-blend/client/smoothblend.h256
1 files changed, 0 insertions, 256 deletions
diff --git a/kwin-styles/smooth-blend/client/smoothblend.h b/kwin-styles/smooth-blend/client/smoothblend.h
deleted file mode 100644
index 4abd32cb..00000000
--- a/kwin-styles/smooth-blend/client/smoothblend.h
+++ /dev/null
@@ -1,256 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-// smoothblend.h
-// -------------------
-// Smooth Blend window decoration for KDE
-// -------------------
-// Copyright (c) 2005 Ryan Nickell <p0z3r@users.sourceforge.net>
-//
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public
-// License as published by the Free Software Foundation; either
-// version 2 of the License, or (at your option) any later version.
-//
-// This program 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
-// General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program; see the file COPYING. If not, write to
-// the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-// Boston, MA 02110-1301, USA.
-//
-//////////////////////////////////////////////////////////////////////////////
-
-#ifndef SMOOTHBLEND_H
-#define SMOOTHBLEND_H
-
-#include <tqbutton.h>
-#include <kdecoration.h>
-#include <kdecorationfactory.h>
-
-class TQSpacerItem;
-class TQPoint;
-
-namespace smoothblend {
-
-class smoothblendClient;
-
-enum ButtonType {
- ButtonHelp=0,
- ButtonMax,
- ButtonMin,
- ButtonClose,
- ButtonMenu,
- ButtonSticky,
- ButtonAbove,
- ButtonBelow,
- ButtonShade,
- ButtonTypeCount
-};
-
-// smoothblendFactory /////////////////////////////////////////////////////////
-//
-// add variables and flags for config like...
-//
-// public: type function()
-// private: type var_
-// inline type function(){ return var_ };
-//
-
-class smoothblendFactory: public KDecorationFactory {
-public:
- smoothblendFactory();
- virtual ~smoothblendFactory();
- virtual KDecoration *createDecoration(KDecorationBridge *b);
- virtual bool reset(unsigned long changed);
- static bool initialized();
- static TQt::AlignmentFlags titleAlign();
- static bool roundedCorners();
- static int titleSize();
- static int buttonSize();
- static int frameSize();
- static int roundSize();
- static TQFont titleFontTool() { return m_titleFontTool; }
- static bool titleShadow();
- static bool animateButtons() { return animatebuttons; }
- static int getBtnComboBox() { return btnComboBox; }
- static bool menuClosed() { return menuClose; }
-
-private:
- bool readConfig();
-
-private:
- static bool initialized_;
- static TQt::AlignmentFlags titlealign_;
- static bool cornerflags_;
- static int titlesize_;
- static int buttonsize_;
- static int framesize_;
- static int roundsize_;
- static TQFont m_titleFontTool;
- static bool titleshadow_;
- static bool animatebuttons;
- static int btnComboBox;
- static bool menuClose;
-};
-
-inline bool smoothblendFactory::initialized() {
- return initialized_;
-}
-inline TQt::AlignmentFlags smoothblendFactory::titleAlign() {
- return titlealign_;
-}
-inline bool smoothblendFactory::roundedCorners() {
- return cornerflags_;
-}
-inline int smoothblendFactory::titleSize() {
- return titlesize_;
-}
-inline int smoothblendFactory::buttonSize() {
- return buttonsize_;
-}
-inline int smoothblendFactory::frameSize() {
- return framesize_;
-}
-inline int smoothblendFactory::roundSize() {
- return roundsize_;
-}
-inline bool smoothblendFactory::titleShadow() {
- return titleshadow_;
-}
-
-// smoothblendButton //////////////////////////////////////////////////////////
-
-class smoothblendButton : public TQButton {
- Q_OBJECT
- TQ_OBJECT
-public:
- smoothblendButton(smoothblendClient *parent=0, const char *name=0,
- const TQString &tip=NULL,
- ButtonType type=ButtonHelp,
- int button_size=18,
- bool toggle=false);
- //const unsigned char *bitmap=0);
- ~smoothblendButton();
-
- void setBitmap(const unsigned char *bitmap);
- TQSize tqsizeHint() const;
- ButtonState lastMousePress() const;
- void reset();
- TQImage getButtonImage(ButtonType type);
- virtual void setOn(bool on);
- virtual void setDown(bool on);
-
-protected slots:
- void animate();
- void buttonClicked();
- void buttonReleased();
-
-private:
- void enterEvent(TQEvent *e);
- void leaveEvent(TQEvent *e);
- void mousePressEvent(TQMouseEvent *e);
- void mouseReleaseEvent(TQMouseEvent *e);
- void drawButton(TQPainter *painter);
-
-private:
- smoothblendClient *client_;
- ButtonType type_;
- int size_;
- TQBitmap *deco_;
- TQPixmap *pixmap[2][4];
- ButtonState lastmouse_;
- bool hover_;
- bool m_clicked;
- TQTimer *animTmr;
- uint animProgress;
-};
-
-inline TQt::ButtonState smoothblendButton::lastMousePress() const {
- return lastmouse_;
-}
-inline void smoothblendButton::reset() {
- tqrepaint(false);
-}
-
-// smoothblendClient //////////////////////////////////////////////////////////
-
-class smoothblendClient : public KDecoration {
- Q_OBJECT
- TQ_OBJECT
-public:
- smoothblendClient(KDecorationBridge *b, KDecorationFactory *f);
- virtual ~smoothblendClient();
-
- virtual void init();
-
- virtual void activeChange();
- virtual void desktopChange();
- virtual void captionChange();
- virtual void iconChange();
- virtual void maximizeChange();
- virtual void shadeChange();
-
-
- virtual void borders(int &l, int &r, int &t, int &b) const;
- virtual void resize(const TQSize &size);
- virtual TQSize tqminimumSize() const;
- virtual Position mousePosition(const TQPoint &point) const;
-
- TQPixmap getTitleBarTile(bool active) const
- {
- return active ? *aTitleBarTile : *iTitleBarTile;
- }
-
-private:
- void addButtons(TQBoxLayout* tqlayout, const TQString& buttons, int buttonSize = 18);
- bool eventFilter(TQObject *obj, TQEvent *e);
- void mouseDoubleClickEvent(TQMouseEvent *e);
- void wheelEvent(TQWheelEvent *e);
- void paintEvent(TQPaintEvent *e);
- void resizeEvent(TQResizeEvent *);
- void showEvent(TQShowEvent *);
- void updateMask();
- void _resetLayout();
- TQVBoxLayout *mainLayout_;
- TQHBoxLayout *titleLayout_;
- TQSpacerItem *topSpacer_,
- *titleSpacer_,
- *leftTitleSpacer_, *rightTitleSpacer_,
- *decoSpacer_,
- *leftSpacer_, *rightSpacer_,
- *bottomSpacer_, *windowSpacer_;
- TQPixmap *aCaptionBuffer, *iCaptionBuffer;
-
-private slots:
- void maxButtonPressed();
- void menuButtonPressed();
- void menuButtonReleased();
- void aboveButtonPressed();
- void belowButtonPressed();
- void shadeButtonPressed();
- void keepAboveChange(bool);
- void keepBelowChange(bool);
-
-signals:
- void keepAboveChanged(bool);
- void keepBelowChanged(bool);
-
-private:
- TQPixmap *aTitleBarTile, *iTitleBarTile, *aTitleBarTopTile, *iTitleBarTopTile;
- smoothblendButton *button[ButtonTypeCount];
- TQSpacerItem *titlebar_;
- bool pixmaps_created;
- int s_titleHeight;
- TQFont s_titleFont;
- int handlebar;
- bool closing;
-
- void create_pixmaps();
- void delete_pixmaps();
-};
-
-} // namespace smoothblend
-
-#endif // SMOOTHBLEND_H