// This is the SIP interface definition for QPoint.
//
// 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>QPoint</Title>
<Para>
The Python 
<Literal>+</Literal>, <Literal>+=</Literal>,
<Literal>-</Literal>, <Literal>-=</Literal>, unary <Literal>-</Literal>,
<Literal>*</Literal>, <Literal>*=</Literal>,
<Literal>/</Literal>, <Literal>/=</Literal>,
<Literal>==</Literal>, <Literal>!=</Literal> and <Literal>__nonzero__</Literal>
operators are supported.
</Para>

<FuncSynopsis>
        <FuncDef>QCOORD &amp;<Function>rx</Function></FuncDef>
	<ParamDef></ParamDef>
</FuncSynopsis>
<Para>
Not implemented.
</Para>

<FuncSynopsis>
        <FuncDef>QCOORD &amp;<Function>ry</Function></FuncDef>
	<ParamDef></ParamDef>
</FuncSynopsis>
<Para>
Not implemented.
</Para>
</Sect2>
%End


class QPoint
{
%TypeHeaderCode
#include <qpoint.h>
%End

public:
	QPoint();
	QPoint(int,int);

	bool isNull() const;
	int x() const;
	int y() const;
	void setX(int);
	void setY(int);
%If (Qt_2_00 -)
	int manhattanLength() const;
%End
//	QCOORD &rx();
//	QCOORD &ry();

	QPoint &operator+=(const QPoint &);
	QPoint &operator-=(const QPoint &);
	QPoint &operator*=(int /Constrained/);
	QPoint &operator*=(double);
	QPoint &operator/=(int /Constrained/);
	QPoint &operator/=(double);

	int __nonzero__();
%MethodCode
		sipRes = !sipCpp -> isNull();
%End

	// Qt defines the remaining operators as global, rather than part of
	// the class, but SIP doesn't support global operators.
	bool operator==(const QPoint &);
	bool operator!=(const QPoint &);
	const QPoint operator+(const QPoint &);
	const QPoint operator-(const QPoint &);
	const QPoint operator*(int /Constrained/);
	const QPoint operator*(double);

	const QPoint __neg__();
%MethodCode
        	sipRes = new QPoint(-(*sipCpp));
%End

	const QPoint operator/(int /Constrained/);
	const QPoint operator/(double);
};
