Diffstat (limited to 'library/windowdecorationinterface.h') (more/less context) (show whitespace changes)
-rw-r--r-- | library/windowdecorationinterface.h | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/library/windowdecorationinterface.h b/library/windowdecorationinterface.h new file mode 100644 index 0000000..dbec0fe --- a/dev/null +++ b/library/windowdecorationinterface.h | |||
@@ -0,0 +1,65 @@ | |||
1 | /********************************************************************** | ||
2 | ** Copyright (C) 2002 Trolltech AS. All rights reserved. | ||
3 | ** | ||
4 | ** This file is part of the Qtopia Environment. | ||
5 | ** | ||
6 | ** This file may be distributed and/or modified under the terms of the | ||
7 | ** GNU General Public License version 2 as published by the Free Software | ||
8 | ** Foundation and appearing in the file LICENSE.GPL included in the | ||
9 | ** packaging of this file. | ||
10 | ** | ||
11 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE | ||
12 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. | ||
13 | ** | ||
14 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. | ||
15 | ** | ||
16 | ** Contact info@trolltech.com if any conditions of this licensing are | ||
17 | ** not clear to you. | ||
18 | ** | ||
19 | **********************************************************************/ | ||
20 | |||
21 | // !!! IMPORTANT !!! | ||
22 | // This interface is still experimental and subject to change. | ||
23 | |||
24 | #ifndef WINDOWDECORATIONINTERFACE_H | ||
25 | #define WINDOWDECORATIONINTERFACE_H | ||
26 | |||
27 | #include <qpe/qcom.h> | ||
28 | #include <qpixmap.h> | ||
29 | #include <qpalette.h> | ||
30 | #include <qwsmanager_qws.h> | ||
31 | |||
32 | // {11A45864-4CBA-4DDA-9846-FF234FD307CC} | ||
33 | #ifndef IID_WindowDecoration | ||
34 | #define IID_WindowDecoration QUuid( 0x11a45864, 0x4cba, 0x4dda, 0x98, 0x46, 0xff, 0x23, 0x4f, 0xd3, 0x07, 0xcc) | ||
35 | #endif | ||
36 | |||
37 | struct WindowDecorationInterface : public QUnknownInterface | ||
38 | { | ||
39 | virtual ~WindowDecorationInterface() {} | ||
40 | |||
41 | struct WindowData { | ||
42 | QRect rect; | ||
43 | QPalette palette; | ||
44 | QString caption; | ||
45 | enum Flags { Maximized=0x01, Dialog=0x02, Active=0x04 }; | ||
46 | Q_UINT32 flags; | ||
47 | Q_UINT32 reserved; | ||
48 | }; | ||
49 | |||
50 | enum Metric { TitleHeight, LeftBorder, RightBorder, TopBorder, BottomBorder, OKWidth, CloseWidth, HelpWidth, MaximizeWidth, CornerGrabSize }; | ||
51 | virtual int metric( Metric m, const WindowData * ) const; | ||
52 | |||
53 | enum Area { Border, Title, TitleText }; | ||
54 | virtual void drawArea( Area a, QPainter *, const WindowData * ) const; | ||
55 | |||
56 | enum Button { OK, Close, Help, Maximize }; | ||
57 | virtual void drawButton( Button b, QPainter *, const WindowData *, int x, int y, int w, int h, QWSButton::State ) const; | ||
58 | |||
59 | virtual QRegion mask( const WindowData * ) const; | ||
60 | |||
61 | virtual QString name() const = 0; | ||
62 | virtual QPixmap icon() const = 0; | ||
63 | }; | ||
64 | |||
65 | #endif | ||