/****************************************************************************
** $Id: qcursor.h,v 2.16 1999/04/28 09:55:56 aavit Exp $
**
** Definition of QCursor class
**
** Created : 940219
**
** Copyright (C) 1992-1999 Troll Tech AS. All rights reserved.
**
** This file is part of the Qt GUI Toolkit.
**
** This file may be distributed under the terms of the Q Public License
** as defined by Troll Tech AS of Norway and appearing in the file
** LICENSE.QPL included in the packaging of this file.
**
** Licensees holding valid Qt Professional Edition licenses may use this
** file in accordance with the Qt Professional Edition License Agreement
** provided with the Qt Professional Edition.
**
** See http://www.troll.no/pricing.html or email sales@troll.no for
** information about the Professional Edition licensing, or see
** http://www.troll.no/qpl/ for QPL licensing information.
**
*****************************************************************************/
#ifndef QCURSOR_H
#define QCURSOR_H
#ifndef QT_H
#include "qpoint.h"
#include "qshared.h"
#include "qnamespace.h"
#endif // QT_H
struct QCursorData; // internal cursor data
class Q_EXPORT QCursor // cursor class
{
public:
QCursor(); // create default arrow cursor
QCursor( int shape );
QCursor( const QBitmap &bitmap, const QBitmap &mask,
int hotX=-1, int hotY=-1 );
QCursor( const QPixmap &pixmap,
int hotX=-1, int hotY=-1 );
QCursor( const QCursor & );
~QCursor();
QCursor &operator=( const QCursor & );
int shape() const;
void setShape( int );
const QBitmap *bitmap() const;
const QBitmap *mask() const;
QPoint hotSpot() const;
#if defined(_WS_WIN_)
HCURSOR handle() const;
#elif defined(_WS_X11_)
HANDLE handle() const;
#endif
static QPoint pos();
static void setPos( int x, int y );
static void setPos( const QPoint & );
static void initialize();
static void cleanup();
private:
void setBitmap( const QBitmap &bitmap, const QBitmap &mask,
int hotX, int hotY );
void update() const;
QCursorData *data;
QCursor *find_cur(int);
};
inline void QCursor::setPos( const QPoint &p )
{
setPos( p.x(), p.y() );
}
/*****************************************************************************
Cursor shape identifiers (correspond to global cursor objects)
*****************************************************************************/
enum QCursorShape {
ArrowCursor, UpArrowCursor, CrossCursor, WaitCursor, IbeamCursor,
SizeVerCursor, SizeHorCursor, SizeBDiagCursor, SizeFDiagCursor,
SizeAllCursor, BlankCursor, SplitVCursor, SplitHCursor, PointingHandCursor,
LastCursor=PointingHandCursor, BitmapCursor=24 };
/*****************************************************************************
QCursor stream functions
*****************************************************************************/
Q_EXPORT QDataStream &operator<<( QDataStream &, const QCursor & );
Q_EXPORT QDataStream &operator>>( QDataStream &, QCursor & );
#endif // QCURSOR_H
| Copyright © 1999 Troll Tech | Trademarks | Qt version 2.0.2
|