source: trunk/include/qcursor.h@ 90

Last change on this file since 90 was 8, checked in by dmik, 20 years ago

Transferred Qt for OS/2 version 3.3.1-rc5 sources from the CVS

  • Property svn:keywords set to Id
File size: 4.1 KB
Line 
1/****************************************************************************
2** $Id: qcursor.h 8 2005-11-16 19:36:46Z dmik $
3**
4** Definition of QCursor class
5**
6** Created : 940219
7**
8** Copyright (C) 1992-2000 Trolltech AS. All rights reserved.
9**
10** This file is part of the kernel module of the Qt GUI Toolkit.
11**
12** This file may be distributed under the terms of the Q Public License
13** as defined by Trolltech AS of Norway and appearing in the file
14** LICENSE.QPL included in the packaging of this file.
15**
16** This file may be distributed and/or modified under the terms of the
17** GNU General Public License version 2 as published by the Free Software
18** Foundation and appearing in the file LICENSE.GPL included in the
19** packaging of this file.
20**
21** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
22** licenses may use this file in accordance with the Qt Commercial License
23** Agreement provided with the Software.
24**
25** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
26** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
27**
28** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
29** information about Qt Commercial License Agreements.
30** See http://www.trolltech.com/qpl/ for QPL licensing information.
31** See http://www.trolltech.com/gpl/ for GPL licensing information.
32**
33** Contact info@trolltech.com if any conditions of this licensing are
34** not clear to you.
35**
36**********************************************************************/
37
38#ifndef QCURSOR_H
39#define QCURSOR_H
40
41#ifndef QT_H
42#include "qpoint.h"
43#include "qshared.h"
44#endif // QT_H
45
46/*
47 ### The fake cursor has to go first with old qdoc.
48*/
49#ifdef QT_NO_CURSOR
50
51class Q_EXPORT QCursor : public Qt
52{
53public:
54 static QPoint pos();
55 static void setPos( int x, int y );
56 static void setPos( const QPoint & );
57private:
58 QCursor();
59};
60
61#endif // QT_NO_CURSOR
62
63#ifndef QT_NO_CURSOR
64
65struct QCursorData;
66
67
68class Q_EXPORT QCursor : public Qt
69{
70public:
71 QCursor(); // create default arrow cursor
72 QCursor( int shape );
73 QCursor( const QBitmap &bitmap, const QBitmap &mask,
74 int hotX=-1, int hotY=-1 );
75 QCursor( const QPixmap &pixmap,
76 int hotX=-1, int hotY=-1 );
77 QCursor( const QCursor & );
78 ~QCursor();
79 QCursor &operator=( const QCursor & );
80
81 int shape() const;
82 void setShape( int );
83
84 const QBitmap *bitmap() const;
85 const QBitmap *mask() const;
86 QPoint hotSpot() const;
87
88#if defined(Q_WS_WIN)
89 HCURSOR handle() const;
90 QCursor( HCURSOR );
91#elif defined(Q_WS_PM)
92 HPOINTER handle() const;
93 QCursor( HPOINTER );
94#elif defined(Q_WS_X11)
95 HANDLE handle() const;
96 QCursor( HANDLE );
97#elif defined(Q_WS_MAC)
98 HANDLE handle() const;
99#elif defined(Q_WS_QWS)
100 HANDLE handle() const;
101#endif
102
103 static QPoint pos();
104 static void setPos( int x, int y );
105 static void setPos( const QPoint & );
106
107 static void initialize();
108 static void cleanup();
109
110#if defined(Q_WS_X11)
111 static int x11Screen();
112#endif
113private:
114 void setBitmap( const QBitmap &bitmap, const QBitmap &mask,
115 int hotX, int hotY );
116 void update() const;
117 QCursorData *data;
118 QCursor *find_cur(int);
119#if defined(Q_WS_MAC)
120 friend void qt_mac_set_cursor(const QCursor *c, const Point *p);
121#endif
122};
123
124
125#if !defined(QT_CLEAN_NAMESPACE)
126// CursorShape is defined in X11/X.h
127#ifdef CursorShape
128#define X_CursorShape CursorShape
129#undef CursorShape
130#endif
131typedef Qt::CursorShape QCursorShape;
132#ifdef X_CursorShape
133#define CursorShape X_CursorShape
134#endif
135#endif
136
137
138/*****************************************************************************
139 QCursor stream functions
140 *****************************************************************************/
141#ifndef QT_NO_DATASTREAM
142Q_EXPORT QDataStream &operator<<( QDataStream &, const QCursor & );
143Q_EXPORT QDataStream &operator>>( QDataStream &, QCursor & );
144#endif
145#endif // QT_NO_CURSOR
146
147
148inline void QCursor::setPos( const QPoint &p )
149{
150 setPos( p.x(), p.y() );
151}
152
153#endif // QCURSOR_H
Note: See TracBrowser for help on using the repository browser.