KVIrc 5.2.6
Developer APIs
NotifierWindowBorder.h
Go to the documentation of this file.
1#ifndef _KVINOTIFIERWINDOWBORDER_H_
2#define _KVINOTIFIERWINDOWBORDER_H_
3//=============================================================================
4//
5// File : NotifierWindowBorder.h
6// Creation date : Mon 03 Jan 2005 02:27:22 by Iacopo Palazzi
7//
8// This file is part of the KVIrc distribution
9// Copyright (C) 2005-2008 Iacopo Palazzi < iakko(at)siena(dot)linux(dot)it >
10//
11// This program is FREE software. You can redistribute it and/or
12// modify it under the terms of the GNU General Public License
13// as published by the Free Software Foundation; either version 2
14// of the License, or (at your option) any later version.
15//
16// This program is distributed in the HOPE that it will be USEFUL,
17// but WITHOUT ANY WARRANTY; without even the implied warranty of
18// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
19// See the GNU General Public License for more details.
20//
21// You should have received a copy of the GNU General Public License
22// along with this program. If not, write to the Free Software Foundation,
23// Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
24//
25//=============================================================================
26
27#include "NotifierSettings.h"
28
29#include <QPixmap>
30#include <QRect>
31#include <QSize>
32
33class QPainter;
34
36{
37public:
40
41private:
42 QRect m_rct;
43 QPoint m_pnt;
44
46
50
51 // Pictures
52 QPixmap * m_pixSX = nullptr;
53 QPixmap * m_pixDX = nullptr;
54 QPixmap * m_pixDWN = nullptr;
55 QPixmap * m_pixDWNSX = nullptr;
56 QPixmap * m_pixDWNDX = nullptr;
57 QPixmap * m_pixCaptionSX = nullptr;
58 QPixmap * m_pixCaptionDX = nullptr;
59 QPixmap * m_pixCaptionBKG = nullptr;
60 QPixmap * m_pixIconClose_out = nullptr;
61 QPixmap * m_pixIconClose_over = nullptr;
62 QPixmap * m_pixIconClose_clicked = nullptr;
63 QPixmap * m_pixIconClose = nullptr;
64
65 QPixmap m_pixSX_N;
66 QPixmap m_pixDX_N;
67 QPixmap m_pixDWN_N;
68 QPixmap m_pixDWNSX_N;
69 QPixmap m_pixDWNDX_N;
76
77 QPixmap m_pixSX_HL;
78 QPixmap m_pixDX_HL;
79 QPixmap m_pixDWN_HL;
88
92
93private:
94 void loadImages();
96
97public:
98 // reading methods...
99 void setWidth(int w);
100 void setHeight(int h);
101 void resize(int w, int h)
102 {
103 setWidth(w);
104 setHeight(h);
105 }
106 void resize(QSize r)
107 {
108 setWidth(r.width());
109 setHeight(r.height());
110 }
111 void setGeometry(QRect r)
112 {
113 r.topLeft();
114 r.size();
115 }
116 void setGeometry(QPoint p, QSize s)
117 {
118 setPoint(p.x(), p.y());
119 setWidth(s.width());
120 setHeight(s.height());
121 }
122
123 void setPoint(int x, int y)
124 {
125 m_pnt.setX(x);
126 m_pnt.setY(y);
127 m_rct.setX(x);
128 m_rct.setY(y);
129 }
130
131 void setCloseIcon(int state);
132 void resetIcons();
133
134 // writing methods...
135 int x() const { return m_pnt.x(); }
136 int y() const { return m_pnt.y(); }
137 int width() const { return m_rct.width(); }
138 int height() const { return m_rct.height(); }
139 int baseLine() const { return (y() + height()); }
140
141 QRect bodyRect() const { return m_bodyRect; }
142 QRect captionRect() const { return m_captionRect; }
143 QRect rect() const { return m_rct; }
144 QRect closeRect() const { return m_closeIconRect; }
145 QRect titleRect() const { return m_titleRect; }
146
147 void draw(QPainter *, bool b = false);
148 void setPics(bool b = false);
149};
150
151#endif
#define WDG_MIN_HEIGHT
Definition NotifierSettings.h:30
#define WDG_MIN_WIDTH
Definition NotifierSettings.h:29
Definition NotifierWindowBorder.h:36
int m_iRctHeight
Definition NotifierWindowBorder.h:91
int m_eIconState
Definition NotifierWindowBorder.h:89
int baseLine() const
Definition NotifierWindowBorder.h:139
QPixmap * m_pixCaptionSX
Definition NotifierWindowBorder.h:57
QPixmap * m_pixIconClose_clicked
Definition NotifierWindowBorder.h:62
QPixmap m_pixCaptionSX_N
Definition NotifierWindowBorder.h:70
QPixmap * m_pixIconClose_over
Definition NotifierWindowBorder.h:61
QPixmap m_pixCaptionBKG_HL
Definition NotifierWindowBorder.h:84
QRect m_bodyRect
Definition NotifierWindowBorder.h:48
void setPics(bool b=false)
Definition NotifierWindowBorder.cpp:104
QPixmap m_pixIconClose_clicked_HL
Definition NotifierWindowBorder.h:87
QPixmap m_pixDWNDX_HL
Definition NotifierWindowBorder.h:81
int width() const
Definition NotifierWindowBorder.h:137
int x() const
Definition NotifierWindowBorder.h:135
void setGeometry(QPoint p, QSize s)
Definition NotifierWindowBorder.h:116
int m_iRctWidth
Definition NotifierWindowBorder.h:90
QPixmap m_pixDWNSX_N
Definition NotifierWindowBorder.h:68
QPixmap m_pixIconClose_out_N
Definition NotifierWindowBorder.h:73
QPoint m_pnt
Definition NotifierWindowBorder.h:43
void recalculatePositions()
Definition NotifierWindowBorder.cpp:148
QRect m_titleRect
Definition NotifierWindowBorder.h:49
QPixmap * m_pixSX
Definition NotifierWindowBorder.h:52
QRect titleRect() const
Definition NotifierWindowBorder.h:145
QRect rect() const
Definition NotifierWindowBorder.h:143
QPixmap m_pixDWNDX_N
Definition NotifierWindowBorder.h:69
void resize(QSize r)
Definition NotifierWindowBorder.h:106
void setGeometry(QRect r)
Definition NotifierWindowBorder.h:111
void draw(QPainter *, bool b=false)
Definition NotifierWindowBorder.cpp:191
QPixmap * m_pixIconClose
Definition NotifierWindowBorder.h:63
QRect m_captionRect
Definition NotifierWindowBorder.h:47
void setHeight(int h)
Definition NotifierWindowBorder.cpp:142
void setPoint(int x, int y)
Definition NotifierWindowBorder.h:123
QPixmap * m_pixDWNSX
Definition NotifierWindowBorder.h:55
void loadImages()
Definition NotifierWindowBorder.cpp:41
int height() const
Definition NotifierWindowBorder.h:138
QPixmap * m_pixDWNDX
Definition NotifierWindowBorder.h:56
QPixmap m_pixCaptionBKG_N
Definition NotifierWindowBorder.h:72
void setCloseIcon(int state)
Definition NotifierWindowBorder.cpp:169
QPixmap m_pixDWNSX_HL
Definition NotifierWindowBorder.h:80
QPixmap m_pixCaptionDX_HL
Definition NotifierWindowBorder.h:83
QPixmap m_pixIconClose_over_N
Definition NotifierWindowBorder.h:74
QPixmap m_pixDX_N
Definition NotifierWindowBorder.h:66
QPixmap * m_pixIconClose_out
Definition NotifierWindowBorder.h:60
QPixmap m_pixDWN_N
Definition NotifierWindowBorder.h:67
QPixmap m_pixCaptionDX_N
Definition NotifierWindowBorder.h:71
void resetIcons()
Definition NotifierWindowBorder.cpp:186
QRect m_closeIconRect
Definition NotifierWindowBorder.h:45
QPixmap m_pixSX_N
Definition NotifierWindowBorder.h:65
QPixmap * m_pixDX
Definition NotifierWindowBorder.h:53
QPixmap m_pixDX_HL
Definition NotifierWindowBorder.h:78
QPixmap * m_pixCaptionDX
Definition NotifierWindowBorder.h:58
QRect closeRect() const
Definition NotifierWindowBorder.h:144
NotifierWindowBorder(QSize=QSize(WDG_MIN_WIDTH, WDG_MIN_HEIGHT))
Definition NotifierWindowBorder.cpp:32
QPixmap m_pixSX_HL
Definition NotifierWindowBorder.h:77
QPixmap m_pixIconClose_clicked_N
Definition NotifierWindowBorder.h:75
QPixmap m_pixIconClose_over_HL
Definition NotifierWindowBorder.h:86
QPixmap m_pixCaptionSX_HL
Definition NotifierWindowBorder.h:82
QPixmap * m_pixDWN
Definition NotifierWindowBorder.h:54
QRect captionRect() const
Definition NotifierWindowBorder.h:142
void resize(int w, int h)
Definition NotifierWindowBorder.h:101
void setWidth(int w)
Definition NotifierWindowBorder.cpp:136
QRect m_rct
Definition NotifierWindowBorder.h:42
QPixmap m_pixDWN_HL
Definition NotifierWindowBorder.h:79
QPixmap * m_pixCaptionBKG
Definition NotifierWindowBorder.h:59
int y() const
Definition NotifierWindowBorder.h:136
QRect bodyRect() const
Definition NotifierWindowBorder.h:141
QPixmap m_pixIconClose_out_HL
Definition NotifierWindowBorder.h:85
#define h
Definition detector.cpp:73
#define r
Definition detector.cpp:83
#define w
Definition detector.cpp:88
#define s
Definition detector.cpp:84
#define p
Definition detector.cpp:81