skin: make menu key button
[sdk/emulator/qemu.git] / tizen / src / ui / skinpainter.h
1 /*
2  * Qt UI
3  *
4  * Copyright (C) 2015 Samsung Electronics Co., Ltd. All rights reserved.
5  *
6  * Contact:
7  * GiWoong Kim <giwoong.kim@samsung.com>
8  * Sangho Park <sangho1206.park@samsung.com>
9  *
10  * This program is free software; you can redistribute it and/or
11  * modify it under the terms of the GNU General Public License
12  * as published by the Free Software Foundation; either version 2
13  * of the License, or (at your option) any later version.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU General Public License for more details.
19  *
20  * You should have received a copy of the GNU General Public License
21  * along with this program; if not, write to the Free Software
22  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
23  * MA 02110-1301, USA.
24  *
25  * Contributors:
26  * - S-Core Co., Ltd
27  *
28  */
29
30 #ifndef SKINPAINTER_H
31 #define SKINPAINTER_H
32
33 #include <QWidget>
34
35 #include "layout/displaytype.h"
36
37 struct Separator
38 {
39     int hOffset;
40     QPen pen;
41 };
42
43 class SkinPainter
44 {
45 public:
46     SkinPainter(const QString &patchPath, QSize centerPatch, int degree,
47         QPoint tagLeftTop, QColor tagColor);
48     SkinPainter(QSize centerPatch, int degree, QList<Separator *> separators);
49     ~SkinPainter();
50
51     QImage getSkinImage() const;
52     QRect getCenteralRect();
53
54 private:
55     void drawSkin(QString patchPath, QSize center, int degree,
56         QPoint tagLeftTop, QColor tagColor);
57     void drawSkin(QSize center, int degree, QList<Separator *> separators);
58
59     QPixmap *skin;
60     QRect centeralRect;
61 };
62
63 #endif // SKINPAINTER_H