SVN_SILENT made messages (.desktop file)
[kdegames.git] / bovo / gui / mark.h
blob3a867b17485376b5996827b6cf03e247a1448828
1 /*******************************************************************
3 * This file is part of the KDE project "Bovo"
5 * Bovo is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2, or (at your option)
8 * any later version.
10 * Bovo is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with Bovo; see the file COPYING. If not, write to
17 * the Free Software Foundation, 51 Franklin Street, Fifth Floor,
18 * Boston, MA 02110-1301, USA.
20 ********************************************************************/
22 #ifndef __MARK_H__
23 #define __MARK_H__
25 #include <QtSvg/QGraphicsSvgItem>
27 #include "common.h"
29 namespace bovo {
30 class Move;
33 using namespace bovo;
35 class QTimer;
37 namespace gui {
39 class Scene;
41 class Mark : public QGraphicsSvgItem {
42 Q_OBJECT
43 public:
44 Mark(Scene *scene, const Move& move, bool animate = true, qreal fill = 0.75);
45 ~Mark();
46 void killAnimation();
47 void kill();
48 usi row() const;
49 usi col() const;
50 void setFill(qreal fill);
51 QRectF boundingRect() const;
53 public slots:
54 void tick();
55 void killTick();
57 signals:
58 void killed(Mark* thisMark);
60 protected:
61 void paint(QPainter* painter, const QStyleOptionGraphicsItem*,
62 QWidget* widget=0);
64 private:
65 Scene* m_scene;
66 int m_row;
67 int m_col;
68 qreal m_sizeShrink, m_fill;
69 int m_tick;
70 bool m_animate;
71 qreal m_opacity;
72 QTimer *m_ticker;
75 } /* namespace gui */
77 #endif /* __MARH_H__ */