QtGui/qwsdisplay_qws.h Source File

qwsdisplay_qws.h
Go to the documentation of this file.
1 /****************************************************************************
2 **
3 ** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
4 ** Contact: http://www.qt-project.org/legal
5 **
6 ** This file is part of the QtGui module of the Qt Toolkit.
7 **
8 ** $QT_BEGIN_LICENSE:LGPL$
9 ** Commercial License Usage
10 ** Licensees holding valid commercial Qt licenses may use this file in
11 ** accordance with the commercial license agreement provided with the
12 ** Software or, alternatively, in accordance with the terms contained in
13 ** a written agreement between you and Digia. For licensing terms and
14 ** conditions see http://qt.digia.com/licensing. For further information
15 ** use the contact form at http://qt.digia.com/contact-us.
16 **
17 ** GNU Lesser General Public License Usage
18 ** Alternatively, this file may be used under the terms of the GNU Lesser
19 ** General Public License version 2.1 as published by the Free Software
20 ** Foundation and appearing in the file LICENSE.LGPL included in the
21 ** packaging of this file. Please review the following information to
22 ** ensure the GNU Lesser General Public License version 2.1 requirements
23 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
24 **
25 ** In addition, as a special exception, Digia gives you certain additional
26 ** rights. These rights are described in the Digia Qt LGPL Exception
27 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
28 **
29 ** GNU General Public License Usage
30 ** Alternatively, this file may be used under the terms of the GNU
31 ** General Public License version 3.0 as published by the Free Software
32 ** Foundation and appearing in the file LICENSE.GPL included in the
33 ** packaging of this file. Please review the following information to
34 ** ensure the GNU General Public License version 3.0 requirements will be
35 ** met: http://www.gnu.org/copyleft/gpl.html.
36 **
37 **
38 ** $QT_END_LICENSE$
39 **
40 ****************************************************************************/
41 
42 #ifndef QWSDISPLAY_QWS_H
43 #define QWSDISPLAY_QWS_H
44 
45 #include <QtCore/qobject.h>
46 #include <QtCore/qbytearray.h>
47 #include <QtGui/qregion.h>
48 #include <QtGui/qimage.h>
49 #include <QtGui/qwindowdefs.h>
50 #include <QtCore/qlist.h>
51 
53 
55 
56 QT_MODULE(Gui)
57 
58 class QWSEvent;
59 class QWSMouseEvent;
61 class QVariant;
62 class QLock;
63 
65 {
66 
67 public:
68 
69  int winid;
70  unsigned int clientid;
72 
73 };
74 
75 #define QT_QWS_PROPERTY_CONVERTSELECTION 999
76 #define QT_QWS_PROPERTY_WINDOWNAME 998
77 #define QT_QWS_PROPERTY_MARKEDTEXT 997
78 
79 class QWSDisplay;
80 extern Q_GUI_EXPORT QWSDisplay *qt_fbdpy;
81 
82 class Q_GUI_EXPORT QWSDisplay
83 {
84 public:
85  QWSDisplay();
86  ~QWSDisplay();
87 
88  static QWSDisplay* instance() { return qt_fbdpy; }
89 
90  bool eventPending() const;
91  QWSEvent *getEvent();
92 // QWSRegionManager *regionManager() const;
93 
94  uchar* frameBuffer() const;
95  int width() const;
96  int height() const;
97  int depth() const;
98  int pixmapDepth() const;
99  bool supportsDepth(int) const;
100 
101  uchar *sharedRam() const;
102  int sharedRamSize() const;
103 
104 #ifndef QT_NO_QWS_PROPERTIES
105  void addProperty(int winId, int property);
106  void setProperty(int winId, int property, int mode, const QByteArray &data);
107  void setProperty(int winId, int property, int mode, const char * data);
108  void removeProperty(int winId, int property);
109  bool getProperty(int winId, int property, char *&data, int &len);
110 #endif // QT_NO_QWS_PROPERTIES
111 
112  QList<QWSWindowInfo> windowList();
113  int windowAt(const QPoint &);
114 
115  void setIdentity(const QString &appName);
116  void nameRegion(int winId, const QString& n, const QString &c);
117  void requestRegion(int winId, const QString &surfacekey,
118  const QByteArray &surfaceData,
119  const QRegion &region);
120  void repaintRegion(int winId, int windowFlags, bool opaque, QRegion);
121  void moveRegion(int winId, int dx, int dy);
122  void destroyRegion(int winId);
123  void requestFocus(int winId, bool get);
124  void setAltitude(int winId, int altitude, bool fixed = false);
125  void setOpacity(int winId, int opacity);
126  int takeId();
127  void setSelectionOwner(int winId, const QTime &time);
128  void convertSelection(int winId, int selectionProperty, const QString &mimeTypes);
129  void defineCursor(int id, const QBitmap &curs, const QBitmap &mask,
130  int hotX, int hotY);
131  void destroyCursor(int id);
132  void selectCursor(QWidget *w, unsigned int id);
133  void setCursorPosition(int x, int y);
134  void grabMouse(QWidget *w, bool grab);
135  void grabKeyboard(QWidget *w, bool grab);
136  void playSoundFile(const QString&);
137  void registerChannel(const QString &channel);
138  void sendMessage(const QString &channel, const QString &msg,
139  const QByteArray &data);
140  void flushCommands();
141 #ifndef QT_NO_QWS_INPUTMETHODS
142  void sendIMUpdate(int type, int winId, int widgetid);
143  void resetIM();
144  void sendIMResponse(int winId, int property, const QVariant &result);
145  void sendIMMouseEvent(int index, bool isPress);
146 #endif
147  QWSQCopMessageEvent* waitForQCopResponse();
148  void sendFontCommand(int type, const QByteArray &fontName);
149 
150  void setWindowCaption(QWidget *w, const QString &);
151 
152  // Lock display for access only by this process
153  static bool initLock(const QString &filename, bool create = false);
154  static bool grabbed();
155  static void grab();
156  static void grab(bool write);
157  static void ungrab();
158 
159  static void setTransformation(int transformation, int screenNo = -1);
160  static void setRawMouseEventFilter(void (*filter)(QWSMouseEvent *));
161 
162 private:
163  friend int qt_fork_qapplication();
164  friend void qt_app_reinit( const QString& newAppName );
165  friend class QApplication;
166  friend class QCopChannel;
167  friend class QWSEmbedWidget;
168  friend class QWSEmbedWidgetPrivate;
169  class Data;
170  friend class Data;
171  Data *d;
172 
173  friend class QWSMemorySurface;
174  friend class QWSOnScreenSurface;
175  friend class QWSDirectPainterSurface;
176  int getPropertyLen;
177  char *getPropertyData;
178  static QLock *lock;
179 };
180 
182 
184 
185 #endif // QWSDISPLAY_QWS_H
GLuint GLuint GLsizei GLenum type
Definition: GLee.h:872
GLenum GLint GLint y
Definition: GLee.h:876
GLint mode
Definition: GLee.h:4479
int int int int * dy
Definition: GLee.h:10535
#define QT_END_NAMESPACE
Definition: qglobal.h:128
static QWSDisplay * instance()
#define QT_BEGIN_HEADER
Definition: qglobal.h:141
Q_GUI_EXPORT QWSDisplay * qt_fbdpy
GLenum GLsizei width
Definition: GLee.h:873
Q_CORE_EXPORT QTextStream & fixed(QTextStream &s)
Definition: qpoint.h:53
#define QT_BEGIN_NAMESPACE
Definition: qglobal.h:127
GLsizei GLsizei GLenum GLenum const GLvoid * data
Definition: GLee.h:880
unsigned int clientid
GLenum GLsizei GLsizei height
Definition: GLee.h:883
GLenum GLint x
Definition: GLee.h:876
GLenum GLsizei n
Definition: GLee.h:3432
GLint GLint GLsizei GLsizei GLsizei depth
Definition: GLee.h:905
const GLubyte * c
Definition: GLee.h:5419
int int channel
Definition: GLee.h:10533
int int int * dx
Definition: GLee.h:10535
GLenum filter
Definition: GLee.h:3431
GLubyte GLubyte GLubyte GLubyte w
Definition: GLee.h:1775
GLenum GLsizei len
Definition: GLee.h:2695
GLenum GLint GLuint mask
Definition: GLee.h:1701
#define QT_END_HEADER
Definition: qglobal.h:142
GLuint index
Definition: GLee.h:1704