/*
  'Acqua' kwin client

  Copyright (C) 2001 Rik Hemsley (rikkus) <rik@kde.org>

  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., 59 Temple Place - Suite 330,
  Boston, MA 02111-1307, USA.
*/

#ifndef KWIN_ACQUA_BUTTON_H
#define KWIN_ACQUA_BUTTON_H

#include <qwidget.h>
#include <qbitmap.h>
#include <klocale.h>
#include <kwin/kwinbutton.h>

namespace KWinInternal
{

  class AcquaButton : public KWinInternal::KWinWidgetButton
  {
    Q_OBJECT

    public:
      AcquaButton(QWidget * parent, const QString& tip);
      AcquaButton(QWidget * parent, const QString& tip,int s);

      virtual ~AcquaButton();

      virtual QSize sizeHint() const;
      virtual QSize minimumSizeHint() const;

    protected:

      virtual void clickEvent(int button) = 0;

      void mousePressEvent(QMouseEvent *);
      void mouseReleaseEvent(QMouseEvent *);
      void enterEvent(QEvent *);
      void leaveEvent(QEvent *);
      void paintEvent(QPaintEvent *);
      void resizeEvent(QResizeEvent *);

      QPixmap pixmap_;
      QPixmap pixmap_over;
      QPixmap pixmap_down;
      QPixmap pixmap_inactive;

      bool mouseOver_;
      bool mouseDown_;
  };
}

#endif

// vim:ts=2:sw=2:tw=78:set et:
