// This is the SIP interface definition for QCursor.
//
// Copyright (c) 2007
// 	Riverbank Computing Limited <info@riverbankcomputing.co.uk>
// 
// This file is part of PyQt.
// 
// This copy of PyQt is free software; you can redistribute it and/or modify it
// under the terms of the GNU General Public License as published by the Free
// Software Foundation; either version 2, or (at your option) any later
// version.
// 
// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY
// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
// FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
// details.
// 
// You should have received a copy of the GNU General Public License along with
// PyQt; see the file LICENSE.  If not, write to the Free Software Foundation,
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.


%ExportedDoc
<Sect2><Title>QCursor</Title>
<Para>
<Literal>QCursor</Literal> is fully implemented.
</Para>
</Sect2>
%End


%ModuleHeaderCode
#include <qcursor.h>
%End


%If (- Qt_2_00)
// Global cursors.

const QCursor arrowCursor;
const QCursor upArrowCursor;
const QCursor crossCursor;
const QCursor waitCursor;
const QCursor ibeamCursor;
const QCursor sizeVerCursor;
const QCursor sizeHorCursor;
const QCursor sizeBDiagCursor;
const QCursor sizeFDiagCursor;
const QCursor sizeAllCursor;
const QCursor blankCursor;
%End


%If (- Qt_3_0_0)
enum QCursorShape {
	ArrowCursor,
	UpArrowCursor,
	CrossCursor,
	WaitCursor,
	IbeamCursor,
	SizeVerCursor,
	SizeHorCursor,
	SizeBDiagCursor,
	SizeFDiagCursor,
	SizeAllCursor,
	BlankCursor,
	LastCursor = BlankCursor,
	BitmapCursor = 24
};


class QCursor
{
%TypeHeaderCode
#include <qcursor.h>
%End

public:
	QCursor();
	QCursor(int);
	QCursor(const QBitmap &,const QBitmap &,int = -1,int = -1);
%If (Qt_2_00 -)
	QCursor(const QPixmap &,int = -1,int = -1);
%End
	QCursor(const QCursor &);

	int shape() const;
	void setShape(int);
	const QBitmap *bitmap() const;
	const QBitmap *mask() const;
	QPoint hotSpot() const;
%If (- Qt_2_00)
	HANDLE handle() const;
%End
%If (Qt_2_00 -)
%If (WS_X11)
	HANDLE handle() const;
%End
%End
	static QPoint pos();
	static void setPos(int,int);
	static void setPos(const QPoint &);
	static void initialize();
	static void cleanup();
};
%End

%If (Qt_3_0_0 -)
class QCursor : Qt
{
%TypeHeaderCode
#include <qcursor.h>
%End

public:
	QCursor();
	QCursor(int);
	QCursor(const QBitmap &,const QBitmap &,int = -1,int = -1);
	QCursor(const QPixmap &,int = -1,int = -1);
	QCursor(const QCursor &);

	int shape() const;
	void setShape(int);
	const QBitmap *bitmap() const;
	const QBitmap *mask() const;
	QPoint hotSpot() const;

%If (WS_X11)
	HANDLE handle() const;
%If (Qt_3_3_0 -)
	// This would have the same Python signature as QCursor(int).
	//QCursor(HANDLE);
%End
%End
	static QPoint pos();
	static void setPos(int,int);
	static void setPos(const QPoint &);
	static void initialize();
	static void cleanup();
%If (WS_X11)
	static int x11Screen();
%End
};
%End
