// C++ interface wrapper code.
//
// Generated by SIP 3.7 (build 102) on Fri Jul 25 00:26:04 2003
//
// Copyright (c) 2003
// 	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.

#include "sipqtcanvasDeclqtcanvas.h"
#include "sipqtcanvasQCanvasItem.h"


PyObject *sipClass_QCanvasItem;

static void sipDealloc_QCanvasItem(sipThisType *);

static PyTypeObject sipType_QCanvasItem = {
	PyObject_HEAD_INIT(&PyType_Type)
	0,
	sipWrapperTypeName,
	sizeof (sipThisType),
	0,
	(destructor)sipDealloc_QCanvasItem,
	0,
	0,
	0,
	0,
	0,
	0,
	0,
	0,
	0,
	0,
	0,
	0,
	0,
	0,
	Py_TPFLAGS_DEFAULT,
};

// The common handler for all classes that inherit this virtual member
// function.

QRect sipQCanvasItem::sipVH_boundingRectAdvanced(const sipMethodCache *pymc,sipThisType *sipThis)
{
	QRect *res;
	PyObject *resobj;
	PyObject *sipArgs;

	sipArgs = Py_BuildValue("(O)",sipThis -> sipSelf);

	if (sipArgs == NULL)
		goto reportError;

	resobj = sipEvalMethod(&pymc -> pyMethod,sipArgs);

	Py_DECREF(sipArgs);

	if (resobj != NULL)
	{
		int iserr = 0;

		res = sipForceConvertTo_QRect(resobj,&iserr);
		sipTransferSelf(resobj,1);

		Py_DECREF(resobj);

		if (!iserr)
			goto releaseLock;

		sipBadVirtualResultType(sipName_QCanvasItem,sipName_boundingRectAdvanced);
	}

reportError:
	PyErr_Print();

releaseLock:
	SIP_UNBLOCK_THREADS

	return *res;
}

// The common handler for all classes that inherit this virtual member
// function.

QRect sipQCanvasItem::sipVH_boundingRect(const sipMethodCache *pymc,sipThisType *sipThis)
{
	QRect *res;
	PyObject *resobj;
	PyObject *sipArgs;

	sipArgs = Py_BuildValue("(O)",sipThis -> sipSelf);

	if (sipArgs == NULL)
		goto reportError;

	resobj = sipEvalMethod(&pymc -> pyMethod,sipArgs);

	Py_DECREF(sipArgs);

	if (resobj != NULL)
	{
		int iserr = 0;

		res = sipForceConvertTo_QRect(resobj,&iserr);
		sipTransferSelf(resobj,1);

		Py_DECREF(resobj);

		if (!iserr)
			goto releaseLock;

		sipBadVirtualResultType(sipName_QCanvasItem,sipName_boundingRect);
	}

reportError:
	PyErr_Print();

releaseLock:
	SIP_UNBLOCK_THREADS

	return *res;
}

// The common handler for all classes that inherit this virtual member
// function.

int sipQCanvasItem::sipVH_rtti(const sipMethodCache *pymc,sipThisType *sipThis)
{
	int res;
	PyObject *resobj;
	PyObject *sipArgs;

	sipArgs = Py_BuildValue("(O)",sipThis -> sipSelf);

	if (sipArgs == NULL)
		goto reportError;

	resobj = sipEvalMethod(&pymc -> pyMethod,sipArgs);

	Py_DECREF(sipArgs);

	if (resobj != NULL)
	{
		res = (int)PyInt_AsLong(resobj);

		Py_DECREF(resobj);

		if (PyErr_Occurred() == NULL)
		{
			goto releaseLock;
		}

		sipBadVirtualResultType(sipName_QCanvasItem,sipName_rtti);
	}

reportError:
	PyErr_Print();

releaseLock:
	SIP_UNBLOCK_THREADS

	return res;
}

// The common handler for all classes that inherit this virtual member
// function.

void sipQCanvasItem::sipVH_setActive(const sipMethodCache *pymc,sipThisType *sipThis,bool a0)
{
	PyObject *resobj;
	PyObject *sipArgs;

	sipArgs = Py_BuildValue("(Oi)",sipThis -> sipSelf,a0);

	if (sipArgs == NULL)
		goto reportError;

	resobj = sipEvalMethod(&pymc -> pyMethod,sipArgs);

	Py_DECREF(sipArgs);

	if (resobj != NULL)
	{
		Py_DECREF(resobj);

		if (resobj == Py_None)
			goto releaseLock;

		sipBadVirtualResultType(sipName_QCanvasItem,sipName_setActive);
	}

reportError:
	PyErr_Print();

releaseLock:
	SIP_UNBLOCK_THREADS
}

// The common handler for all classes that inherit this virtual member
// function.

void sipQCanvasItem::sipVH_setEnabled(const sipMethodCache *pymc,sipThisType *sipThis,bool a0)
{
	PyObject *resobj;
	PyObject *sipArgs;

	sipArgs = Py_BuildValue("(Oi)",sipThis -> sipSelf,a0);

	if (sipArgs == NULL)
		goto reportError;

	resobj = sipEvalMethod(&pymc -> pyMethod,sipArgs);

	Py_DECREF(sipArgs);

	if (resobj != NULL)
	{
		Py_DECREF(resobj);

		if (resobj == Py_None)
			goto releaseLock;

		sipBadVirtualResultType(sipName_QCanvasItem,sipName_setEnabled);
	}

reportError:
	PyErr_Print();

releaseLock:
	SIP_UNBLOCK_THREADS
}

// The common handler for all classes that inherit this virtual member
// function.

void sipQCanvasItem::sipVH_setSelected(const sipMethodCache *pymc,sipThisType *sipThis,bool a0)
{
	PyObject *resobj;
	PyObject *sipArgs;

	sipArgs = Py_BuildValue("(Oi)",sipThis -> sipSelf,a0);

	if (sipArgs == NULL)
		goto reportError;

	resobj = sipEvalMethod(&pymc -> pyMethod,sipArgs);

	Py_DECREF(sipArgs);

	if (resobj != NULL)
	{
		Py_DECREF(resobj);

		if (resobj == Py_None)
			goto releaseLock;

		sipBadVirtualResultType(sipName_QCanvasItem,sipName_setSelected);
	}

reportError:
	PyErr_Print();

releaseLock:
	SIP_UNBLOCK_THREADS
}

// The common handler for all classes that inherit this virtual member
// function.

void sipQCanvasItem::sipVH_setVisible(const sipMethodCache *pymc,sipThisType *sipThis,bool a0)
{
	PyObject *resobj;
	PyObject *sipArgs;

	sipArgs = Py_BuildValue("(Oi)",sipThis -> sipSelf,a0);

	if (sipArgs == NULL)
		goto reportError;

	resobj = sipEvalMethod(&pymc -> pyMethod,sipArgs);

	Py_DECREF(sipArgs);

	if (resobj != NULL)
	{
		Py_DECREF(resobj);

		if (resobj == Py_None)
			goto releaseLock;

		sipBadVirtualResultType(sipName_QCanvasItem,sipName_setVisible);
	}

reportError:
	PyErr_Print();

releaseLock:
	SIP_UNBLOCK_THREADS
}

// The common handler for all classes that inherit this virtual member
// function.

void sipQCanvasItem::sipVH_draw(const sipMethodCache *pymc,sipThisType *sipThis,QPainter& a0)
{
	PyObject *resobj;
	PyObject *sipArgs;
	PyObject *a0obj;

	a0obj = sipMapCppToSelf(&a0,sipClass_QPainter);

	sipArgs = Py_BuildValue("(ON)",sipThis -> sipSelf,a0obj);

	if (sipArgs == NULL)
		goto reportError;

	resobj = sipEvalMethod(&pymc -> pyMethod,sipArgs);

	Py_DECREF(sipArgs);

	if (resobj != NULL)
	{
		Py_DECREF(resobj);

		if (resobj == Py_None)
			goto releaseLock;

		sipBadVirtualResultType(sipName_QCanvasItem,sipName_draw);
	}

reportError:
	PyErr_Print();

releaseLock:
	SIP_UNBLOCK_THREADS
}

// The common handler for all classes that inherit this virtual member
// function.

void sipQCanvasItem::sipVH_setCanvas(const sipMethodCache *pymc,sipThisType *sipThis,QCanvas * a0)
{
	PyObject *resobj;
	PyObject *sipArgs;
	PyObject *a0obj;

	a0obj = sipMapCppToSelfSubClass(a0,sipClass_QCanvas);

	sipArgs = Py_BuildValue("(ON)",sipThis -> sipSelf,a0obj);

	if (sipArgs == NULL)
		goto reportError;

	resobj = sipEvalMethod(&pymc -> pyMethod,sipArgs);

	Py_DECREF(sipArgs);

	if (resobj != NULL)
	{
		Py_DECREF(resobj);

		if (resobj == Py_None)
			goto releaseLock;

		sipBadVirtualResultType(sipName_QCanvasItem,sipName_setCanvas);
	}

reportError:
	PyErr_Print();

releaseLock:
	SIP_UNBLOCK_THREADS
}

// The common handler for all classes that inherit this virtual member
// function.

bool sipQCanvasItem::sipVH_collidesWith(const sipMethodCache *pymc,sipThisType *sipThis,const QCanvasItem * a0)
{
	bool res;
	PyObject *resobj;
	PyObject *sipArgs;
	PyObject *a0obj;

	a0obj = sipMapCppToSelf(a0,sipClass_QCanvasItem);

	sipArgs = Py_BuildValue("(ON)",sipThis -> sipSelf,a0obj);

	if (sipArgs == NULL)
		goto reportError;

	resobj = sipEvalMethod(&pymc -> pyMethod,sipArgs);

	Py_DECREF(sipArgs);

	if (resobj != NULL)
	{
		res = (bool)PyInt_AsLong(resobj);

		Py_DECREF(resobj);

		if (PyErr_Occurred() == NULL)
		{
			goto releaseLock;
		}

		sipBadVirtualResultType(sipName_QCanvasItem,sipName_collidesWith);
	}

reportError:
	PyErr_Print();

releaseLock:
	SIP_UNBLOCK_THREADS

	return res;
}

// The common handler for all classes that inherit this virtual member
// function.

void sipQCanvasItem::sipVH_advance(const sipMethodCache *pymc,sipThisType *sipThis,int a0)
{
	PyObject *resobj;
	PyObject *sipArgs;

	sipArgs = Py_BuildValue("(Oi)",sipThis -> sipSelf,a0);

	if (sipArgs == NULL)
		goto reportError;

	resobj = sipEvalMethod(&pymc -> pyMethod,sipArgs);

	Py_DECREF(sipArgs);

	if (resobj != NULL)
	{
		Py_DECREF(resobj);

		if (resobj == Py_None)
			goto releaseLock;

		sipBadVirtualResultType(sipName_QCanvasItem,sipName_advance);
	}

reportError:
	PyErr_Print();

releaseLock:
	SIP_UNBLOCK_THREADS
}

// The common handler for all classes that inherit this virtual member
// function.

void sipQCanvasItem::sipVH_setVelocity(const sipMethodCache *pymc,sipThisType *sipThis,double a0,double a1)
{
	PyObject *resobj;
	PyObject *sipArgs;

	sipArgs = Py_BuildValue("(Odd)",sipThis -> sipSelf,a0,a1);

	if (sipArgs == NULL)
		goto reportError;

	resobj = sipEvalMethod(&pymc -> pyMethod,sipArgs);

	Py_DECREF(sipArgs);

	if (resobj != NULL)
	{
		Py_DECREF(resobj);

		if (resobj == Py_None)
			goto releaseLock;

		sipBadVirtualResultType(sipName_QCanvasItem,sipName_setVelocity);
	}

reportError:
	PyErr_Print();

releaseLock:
	SIP_UNBLOCK_THREADS
}

// The common handler for all classes that inherit this virtual member
// function.

void sipQCanvasItem::sipVH_setAnimated(const sipMethodCache *pymc,sipThisType *sipThis,bool a0)
{
	PyObject *resobj;
	PyObject *sipArgs;

	sipArgs = Py_BuildValue("(Oi)",sipThis -> sipSelf,a0);

	if (sipArgs == NULL)
		goto reportError;

	resobj = sipEvalMethod(&pymc -> pyMethod,sipArgs);

	Py_DECREF(sipArgs);

	if (resobj != NULL)
	{
		Py_DECREF(resobj);

		if (resobj == Py_None)
			goto releaseLock;

		sipBadVirtualResultType(sipName_QCanvasItem,sipName_setAnimated);
	}

reportError:
	PyErr_Print();

releaseLock:
	SIP_UNBLOCK_THREADS
}

// The common handler for all classes that inherit this virtual member
// function.

void sipQCanvasItem::sipVH_moveBy(const sipMethodCache *pymc,sipThisType *sipThis,double a0,double a1)
{
	PyObject *resobj;
	PyObject *sipArgs;

	sipArgs = Py_BuildValue("(Odd)",sipThis -> sipSelf,a0,a1);

	if (sipArgs == NULL)
		goto reportError;

	resobj = sipEvalMethod(&pymc -> pyMethod,sipArgs);

	Py_DECREF(sipArgs);

	if (resobj != NULL)
	{
		Py_DECREF(resobj);

		if (resobj == Py_None)
			goto releaseLock;

		sipBadVirtualResultType(sipName_QCanvasItem,sipName_moveBy);
	}

reportError:
	PyErr_Print();

releaseLock:
	SIP_UNBLOCK_THREADS
}

static PyObject *sipDo_QCanvasItem_x(PyObject *sipThisObj,PyObject *sipArgs)
{
	int sipArgsParsed = 0;

	{
		QCanvasItem *sipCpp;

		if (sipParseArgs(&sipArgsParsed,sipArgs,"m",sipThisObj,sipClass_QCanvasItem,&sipCpp))
		{
			double res;

			Py_BEGIN_ALLOW_THREADS
			res = sipCpp -> QCanvasItem::x();
			Py_END_ALLOW_THREADS

			return PyFloat_FromDouble(res);
		}
	}

	// Report an error if the arguments couldn't be parsed.

	sipNoMethod(sipArgsParsed,sipName_QCanvasItem,sipName_x);

	return NULL;
}

static PyObject *sipDo_QCanvasItem_y(PyObject *sipThisObj,PyObject *sipArgs)
{
	int sipArgsParsed = 0;

	{
		QCanvasItem *sipCpp;

		if (sipParseArgs(&sipArgsParsed,sipArgs,"m",sipThisObj,sipClass_QCanvasItem,&sipCpp))
		{
			double res;

			Py_BEGIN_ALLOW_THREADS
			res = sipCpp -> QCanvasItem::y();
			Py_END_ALLOW_THREADS

			return PyFloat_FromDouble(res);
		}
	}

	// Report an error if the arguments couldn't be parsed.

	sipNoMethod(sipArgsParsed,sipName_QCanvasItem,sipName_y);

	return NULL;
}

static PyObject *sipDo_QCanvasItem_z(PyObject *sipThisObj,PyObject *sipArgs)
{
	int sipArgsParsed = 0;

	{
		QCanvasItem *sipCpp;

		if (sipParseArgs(&sipArgsParsed,sipArgs,"m",sipThisObj,sipClass_QCanvasItem,&sipCpp))
		{
			double res;

			Py_BEGIN_ALLOW_THREADS
			res = sipCpp -> QCanvasItem::z();
			Py_END_ALLOW_THREADS

			return PyFloat_FromDouble(res);
		}
	}

	// Report an error if the arguments couldn't be parsed.

	sipNoMethod(sipArgsParsed,sipName_QCanvasItem,sipName_z);

	return NULL;
}

static PyObject *sipDo_QCanvasItem_moveBy(PyObject *sipThisObj,PyObject *sipArgs)
{
	int sipArgsParsed = 0;

	{
		double a0;
		double a1;
		QCanvasItem *sipCpp;

		if (sipParseArgs(&sipArgsParsed,sipArgs,"mdd",sipThisObj,sipClass_QCanvasItem,&sipCpp,&a0,&a1))
		{
			Py_BEGIN_ALLOW_THREADS
			sipCpp -> QCanvasItem::moveBy(a0,a1);
			Py_END_ALLOW_THREADS

			Py_INCREF(Py_None);
			return Py_None;
		}
	}

	// Report an error if the arguments couldn't be parsed.

	sipNoMethod(sipArgsParsed,sipName_QCanvasItem,sipName_moveBy);

	return NULL;
}

static PyObject *sipDo_QCanvasItem_move(PyObject *sipThisObj,PyObject *sipArgs)
{
	int sipArgsParsed = 0;

	{
		double a0;
		double a1;
		QCanvasItem *sipCpp;

		if (sipParseArgs(&sipArgsParsed,sipArgs,"mdd",sipThisObj,sipClass_QCanvasItem,&sipCpp,&a0,&a1))
		{
			Py_BEGIN_ALLOW_THREADS
			sipCpp -> QCanvasItem::move(a0,a1);
			Py_END_ALLOW_THREADS

			Py_INCREF(Py_None);
			return Py_None;
		}
	}

	// Report an error if the arguments couldn't be parsed.

	sipNoMethod(sipArgsParsed,sipName_QCanvasItem,sipName_move);

	return NULL;
}

static PyObject *sipDo_QCanvasItem_setX(PyObject *sipThisObj,PyObject *sipArgs)
{
	int sipArgsParsed = 0;

	{
		double a0;
		QCanvasItem *sipCpp;

		if (sipParseArgs(&sipArgsParsed,sipArgs,"md",sipThisObj,sipClass_QCanvasItem,&sipCpp,&a0))
		{
			Py_BEGIN_ALLOW_THREADS
			sipCpp -> QCanvasItem::setX(a0);
			Py_END_ALLOW_THREADS

			Py_INCREF(Py_None);
			return Py_None;
		}
	}

	// Report an error if the arguments couldn't be parsed.

	sipNoMethod(sipArgsParsed,sipName_QCanvasItem,sipName_setX);

	return NULL;
}

static PyObject *sipDo_QCanvasItem_setY(PyObject *sipThisObj,PyObject *sipArgs)
{
	int sipArgsParsed = 0;

	{
		double a0;
		QCanvasItem *sipCpp;

		if (sipParseArgs(&sipArgsParsed,sipArgs,"md",sipThisObj,sipClass_QCanvasItem,&sipCpp,&a0))
		{
			Py_BEGIN_ALLOW_THREADS
			sipCpp -> QCanvasItem::setY(a0);
			Py_END_ALLOW_THREADS

			Py_INCREF(Py_None);
			return Py_None;
		}
	}

	// Report an error if the arguments couldn't be parsed.

	sipNoMethod(sipArgsParsed,sipName_QCanvasItem,sipName_setY);

	return NULL;
}

static PyObject *sipDo_QCanvasItem_setZ(PyObject *sipThisObj,PyObject *sipArgs)
{
	int sipArgsParsed = 0;

	{
		double a0;
		QCanvasItem *sipCpp;

		if (sipParseArgs(&sipArgsParsed,sipArgs,"md",sipThisObj,sipClass_QCanvasItem,&sipCpp,&a0))
		{
			Py_BEGIN_ALLOW_THREADS
			sipCpp -> QCanvasItem::setZ(a0);
			Py_END_ALLOW_THREADS

			Py_INCREF(Py_None);
			return Py_None;
		}
	}

	// Report an error if the arguments couldn't be parsed.

	sipNoMethod(sipArgsParsed,sipName_QCanvasItem,sipName_setZ);

	return NULL;
}

static PyObject *sipDo_QCanvasItem_animated(PyObject *sipThisObj,PyObject *sipArgs)
{
	int sipArgsParsed = 0;

	{
		QCanvasItem *sipCpp;

		if (sipParseArgs(&sipArgsParsed,sipArgs,"m",sipThisObj,sipClass_QCanvasItem,&sipCpp))
		{
			bool res;

			Py_BEGIN_ALLOW_THREADS
			res = sipCpp -> QCanvasItem::animated();
			Py_END_ALLOW_THREADS

			return sipConvertFromBool((int)res);
		}
	}

	// Report an error if the arguments couldn't be parsed.

	sipNoMethod(sipArgsParsed,sipName_QCanvasItem,sipName_animated);

	return NULL;
}

static PyObject *sipDo_QCanvasItem_setAnimated(PyObject *sipThisObj,PyObject *sipArgs)
{
	int sipArgsParsed = 0;

	{
		long a0;
		QCanvasItem *sipCpp;

		if (sipParseArgs(&sipArgsParsed,sipArgs,"ml",sipThisObj,sipClass_QCanvasItem,&sipCpp,&a0))
		{
			Py_BEGIN_ALLOW_THREADS
			sipCpp -> QCanvasItem::setAnimated((bool)a0);
			Py_END_ALLOW_THREADS

			Py_INCREF(Py_None);
			return Py_None;
		}
	}

	// Report an error if the arguments couldn't be parsed.

	sipNoMethod(sipArgsParsed,sipName_QCanvasItem,sipName_setAnimated);

	return NULL;
}

static PyObject *sipDo_QCanvasItem_setVelocity(PyObject *sipThisObj,PyObject *sipArgs)
{
	int sipArgsParsed = 0;

	{
		double a0;
		double a1;
		QCanvasItem *sipCpp;

		if (sipParseArgs(&sipArgsParsed,sipArgs,"mdd",sipThisObj,sipClass_QCanvasItem,&sipCpp,&a0,&a1))
		{
			Py_BEGIN_ALLOW_THREADS
			sipCpp -> QCanvasItem::setVelocity(a0,a1);
			Py_END_ALLOW_THREADS

			Py_INCREF(Py_None);
			return Py_None;
		}
	}

	// Report an error if the arguments couldn't be parsed.

	sipNoMethod(sipArgsParsed,sipName_QCanvasItem,sipName_setVelocity);

	return NULL;
}

static PyObject *sipDo_QCanvasItem_setXVelocity(PyObject *sipThisObj,PyObject *sipArgs)
{
	int sipArgsParsed = 0;

	{
		double a0;
		QCanvasItem *sipCpp;

		if (sipParseArgs(&sipArgsParsed,sipArgs,"md",sipThisObj,sipClass_QCanvasItem,&sipCpp,&a0))
		{
			Py_BEGIN_ALLOW_THREADS
			sipCpp -> QCanvasItem::setXVelocity(a0);
			Py_END_ALLOW_THREADS

			Py_INCREF(Py_None);
			return Py_None;
		}
	}

	// Report an error if the arguments couldn't be parsed.

	sipNoMethod(sipArgsParsed,sipName_QCanvasItem,sipName_setXVelocity);

	return NULL;
}

static PyObject *sipDo_QCanvasItem_setYVelocity(PyObject *sipThisObj,PyObject *sipArgs)
{
	int sipArgsParsed = 0;

	{
		double a0;
		QCanvasItem *sipCpp;

		if (sipParseArgs(&sipArgsParsed,sipArgs,"md",sipThisObj,sipClass_QCanvasItem,&sipCpp,&a0))
		{
			Py_BEGIN_ALLOW_THREADS
			sipCpp -> QCanvasItem::setYVelocity(a0);
			Py_END_ALLOW_THREADS

			Py_INCREF(Py_None);
			return Py_None;
		}
	}

	// Report an error if the arguments couldn't be parsed.

	sipNoMethod(sipArgsParsed,sipName_QCanvasItem,sipName_setYVelocity);

	return NULL;
}

static PyObject *sipDo_QCanvasItem_xVelocity(PyObject *sipThisObj,PyObject *sipArgs)
{
	int sipArgsParsed = 0;

	{
		QCanvasItem *sipCpp;

		if (sipParseArgs(&sipArgsParsed,sipArgs,"m",sipThisObj,sipClass_QCanvasItem,&sipCpp))
		{
			double res;

			Py_BEGIN_ALLOW_THREADS
			res = sipCpp -> QCanvasItem::xVelocity();
			Py_END_ALLOW_THREADS

			return PyFloat_FromDouble(res);
		}
	}

	// Report an error if the arguments couldn't be parsed.

	sipNoMethod(sipArgsParsed,sipName_QCanvasItem,sipName_xVelocity);

	return NULL;
}

static PyObject *sipDo_QCanvasItem_yVelocity(PyObject *sipThisObj,PyObject *sipArgs)
{
	int sipArgsParsed = 0;

	{
		QCanvasItem *sipCpp;

		if (sipParseArgs(&sipArgsParsed,sipArgs,"m",sipThisObj,sipClass_QCanvasItem,&sipCpp))
		{
			double res;

			Py_BEGIN_ALLOW_THREADS
			res = sipCpp -> QCanvasItem::yVelocity();
			Py_END_ALLOW_THREADS

			return PyFloat_FromDouble(res);
		}
	}

	// Report an error if the arguments couldn't be parsed.

	sipNoMethod(sipArgsParsed,sipName_QCanvasItem,sipName_yVelocity);

	return NULL;
}

static PyObject *sipDo_QCanvasItem_advance(PyObject *sipThisObj,PyObject *sipArgs)
{
	int sipArgsParsed = 0;

	{
		int a0;
		QCanvasItem *sipCpp;

		if (sipParseArgs(&sipArgsParsed,sipArgs,"mi",sipThisObj,sipClass_QCanvasItem,&sipCpp,&a0))
		{
			Py_BEGIN_ALLOW_THREADS
			sipCpp -> QCanvasItem::advance(a0);
			Py_END_ALLOW_THREADS

			Py_INCREF(Py_None);
			return Py_None;
		}
	}

	// Report an error if the arguments couldn't be parsed.

	sipNoMethod(sipArgsParsed,sipName_QCanvasItem,sipName_advance);

	return NULL;
}

static PyObject *sipDo_QCanvasItem_collidesWith(PyObject *sipThisObj,PyObject *sipArgs)
{
	int sipArgsParsed = 0;

	{
		QCanvasItem * a0;
		QCanvasItem *sipCpp;

		if (sipParseArgs(&sipArgsParsed,sipArgs,"mJ0",sipThisObj,sipClass_QCanvasItem,&sipCpp,sipClass_QCanvasItem,&a0))
		{
			bool res;

			Py_BEGIN_ALLOW_THREADS
			res = sipCpp -> collidesWith(a0);
			Py_END_ALLOW_THREADS

			return sipConvertFromBool((int)res);
		}
	}

	// Report an error if the arguments couldn't be parsed.

	sipNoMethod(sipArgsParsed,sipName_QCanvasItem,sipName_collidesWith);

	return NULL;
}

static PyObject *sipDo_QCanvasItem_collisions(PyObject *sipThisObj,PyObject *sipArgs)
{
	int sipArgsParsed = 0;

	{
		long a0;
		QCanvasItem *sipCpp;

		if (sipParseArgs(&sipArgsParsed,sipArgs,"ml",sipThisObj,sipClass_QCanvasItem,&sipCpp,&a0))
		{
			QCanvasItemList *res;

			Py_BEGIN_ALLOW_THREADS
			res = new QCanvasItemList(sipCpp -> QCanvasItem::collisions((bool)a0));
			Py_END_ALLOW_THREADS

			PyObject *resobj = sipConvertFrom_QCanvasItemList(res);
			delete res;

			return resobj;
		}
	}

	// Report an error if the arguments couldn't be parsed.

	sipNoMethod(sipArgsParsed,sipName_QCanvasItem,sipName_collisions);

	return NULL;
}

static PyObject *sipDo_QCanvasItem_setCanvas(PyObject *sipThisObj,PyObject *sipArgs)
{
	int sipArgsParsed = 0;

	{
#line 238 "sip/qcanvas.sip"
#if SIP_MAJOR_NR >= 4
	// FIXME
#else
		sipThisType *sipThis;
		QCanvas *a0;

		if (sipParseArgs(&sipArgsParsed,sipArgs,"tJ0",sipThisObj,sipClass_QCanvasItem,&sipThis,sipClass_QCanvas,&a0))
		{
			QCanvasItem *ptr;

			if ((ptr = (QCanvasItem *)sipGetCppPtr(sipThis,sipClass_QCanvasItem)) == NULL)
				return NULL;

			QCanvas *ocanvas = ptr -> canvas();

			/* Give ownership if it has acquired a canvas. */

			if (!ocanvas && a0)
				sipTransferSelf(sipThis -> sipSelf,1);

			Py_BEGIN_ALLOW_THREADS
			ptr -> QCanvasItem::setCanvas(a0);
			Py_END_ALLOW_THREADS

			/* Take ownership if it has lost a canvas. */

			if (ocanvas && !a0)
				sipTransferSelf(sipThis -> sipSelf,0);

			Py_INCREF(Py_None);
			return Py_None;
		}
#endif
#line 1087 "sipqtcanvasQCanvasItem.cpp"
	}

	// Report an error if the arguments couldn't be parsed.

	sipNoMethod(sipArgsParsed,sipName_QCanvasItem,sipName_setCanvas);

	return NULL;
}

static PyObject *sipDo_QCanvasItem_draw(PyObject *sipThisObj,PyObject *sipArgs)
{
	int sipArgsParsed = 0;

	{
		QPainter * a0;
		QCanvasItem *sipCpp;

		if (sipParseArgs(&sipArgsParsed,sipArgs,"mJ1",sipThisObj,sipClass_QCanvasItem,&sipCpp,sipClass_QPainter,&a0))
		{
			Py_BEGIN_ALLOW_THREADS
			sipCpp -> draw(*a0);
			Py_END_ALLOW_THREADS

			Py_INCREF(Py_None);
			return Py_None;
		}
	}

	// Report an error if the arguments couldn't be parsed.

	sipNoMethod(sipArgsParsed,sipName_QCanvasItem,sipName_draw);

	return NULL;
}

static PyObject *sipDo_QCanvasItem_show(PyObject *sipThisObj,PyObject *sipArgs)
{
	int sipArgsParsed = 0;

	{
		QCanvasItem *sipCpp;

		if (sipParseArgs(&sipArgsParsed,sipArgs,"m",sipThisObj,sipClass_QCanvasItem,&sipCpp))
		{
			Py_BEGIN_ALLOW_THREADS
			sipCpp -> QCanvasItem::show();
			Py_END_ALLOW_THREADS

			Py_INCREF(Py_None);
			return Py_None;
		}
	}

	// Report an error if the arguments couldn't be parsed.

	sipNoMethod(sipArgsParsed,sipName_QCanvasItem,sipName_show);

	return NULL;
}

static PyObject *sipDo_QCanvasItem_hide(PyObject *sipThisObj,PyObject *sipArgs)
{
	int sipArgsParsed = 0;

	{
		QCanvasItem *sipCpp;

		if (sipParseArgs(&sipArgsParsed,sipArgs,"m",sipThisObj,sipClass_QCanvasItem,&sipCpp))
		{
			Py_BEGIN_ALLOW_THREADS
			sipCpp -> QCanvasItem::hide();
			Py_END_ALLOW_THREADS

			Py_INCREF(Py_None);
			return Py_None;
		}
	}

	// Report an error if the arguments couldn't be parsed.

	sipNoMethod(sipArgsParsed,sipName_QCanvasItem,sipName_hide);

	return NULL;
}

static PyObject *sipDo_QCanvasItem_setVisible(PyObject *sipThisObj,PyObject *sipArgs)
{
	int sipArgsParsed = 0;

	{
		long a0;
		QCanvasItem *sipCpp;

		if (sipParseArgs(&sipArgsParsed,sipArgs,"ml",sipThisObj,sipClass_QCanvasItem,&sipCpp,&a0))
		{
			Py_BEGIN_ALLOW_THREADS
			sipCpp -> QCanvasItem::setVisible((bool)a0);
			Py_END_ALLOW_THREADS

			Py_INCREF(Py_None);
			return Py_None;
		}
	}

	// Report an error if the arguments couldn't be parsed.

	sipNoMethod(sipArgsParsed,sipName_QCanvasItem,sipName_setVisible);

	return NULL;
}

static PyObject *sipDo_QCanvasItem_isVisible(PyObject *sipThisObj,PyObject *sipArgs)
{
	int sipArgsParsed = 0;

	{
		QCanvasItem *sipCpp;

		if (sipParseArgs(&sipArgsParsed,sipArgs,"m",sipThisObj,sipClass_QCanvasItem,&sipCpp))
		{
			bool res;

			Py_BEGIN_ALLOW_THREADS
			res = sipCpp -> QCanvasItem::isVisible();
			Py_END_ALLOW_THREADS

			return sipConvertFromBool((int)res);
		}
	}

	// Report an error if the arguments couldn't be parsed.

	sipNoMethod(sipArgsParsed,sipName_QCanvasItem,sipName_isVisible);

	return NULL;
}

static PyObject *sipDo_QCanvasItem_setSelected(PyObject *sipThisObj,PyObject *sipArgs)
{
	int sipArgsParsed = 0;

	{
		long a0;
		QCanvasItem *sipCpp;

		if (sipParseArgs(&sipArgsParsed,sipArgs,"ml",sipThisObj,sipClass_QCanvasItem,&sipCpp,&a0))
		{
			Py_BEGIN_ALLOW_THREADS
			sipCpp -> QCanvasItem::setSelected((bool)a0);
			Py_END_ALLOW_THREADS

			Py_INCREF(Py_None);
			return Py_None;
		}
	}

	// Report an error if the arguments couldn't be parsed.

	sipNoMethod(sipArgsParsed,sipName_QCanvasItem,sipName_setSelected);

	return NULL;
}

static PyObject *sipDo_QCanvasItem_isSelected(PyObject *sipThisObj,PyObject *sipArgs)
{
	int sipArgsParsed = 0;

	{
		QCanvasItem *sipCpp;

		if (sipParseArgs(&sipArgsParsed,sipArgs,"m",sipThisObj,sipClass_QCanvasItem,&sipCpp))
		{
			bool res;

			Py_BEGIN_ALLOW_THREADS
			res = sipCpp -> QCanvasItem::isSelected();
			Py_END_ALLOW_THREADS

			return sipConvertFromBool((int)res);
		}
	}

	// Report an error if the arguments couldn't be parsed.

	sipNoMethod(sipArgsParsed,sipName_QCanvasItem,sipName_isSelected);

	return NULL;
}

static PyObject *sipDo_QCanvasItem_setEnabled(PyObject *sipThisObj,PyObject *sipArgs)
{
	int sipArgsParsed = 0;

	{
		long a0;
		QCanvasItem *sipCpp;

		if (sipParseArgs(&sipArgsParsed,sipArgs,"ml",sipThisObj,sipClass_QCanvasItem,&sipCpp,&a0))
		{
			Py_BEGIN_ALLOW_THREADS
			sipCpp -> QCanvasItem::setEnabled((bool)a0);
			Py_END_ALLOW_THREADS

			Py_INCREF(Py_None);
			return Py_None;
		}
	}

	// Report an error if the arguments couldn't be parsed.

	sipNoMethod(sipArgsParsed,sipName_QCanvasItem,sipName_setEnabled);

	return NULL;
}

static PyObject *sipDo_QCanvasItem_isEnabled(PyObject *sipThisObj,PyObject *sipArgs)
{
	int sipArgsParsed = 0;

	{
		QCanvasItem *sipCpp;

		if (sipParseArgs(&sipArgsParsed,sipArgs,"m",sipThisObj,sipClass_QCanvasItem,&sipCpp))
		{
			bool res;

			Py_BEGIN_ALLOW_THREADS
			res = sipCpp -> QCanvasItem::isEnabled();
			Py_END_ALLOW_THREADS

			return sipConvertFromBool((int)res);
		}
	}

	// Report an error if the arguments couldn't be parsed.

	sipNoMethod(sipArgsParsed,sipName_QCanvasItem,sipName_isEnabled);

	return NULL;
}

static PyObject *sipDo_QCanvasItem_setActive(PyObject *sipThisObj,PyObject *sipArgs)
{
	int sipArgsParsed = 0;

	{
		long a0;
		QCanvasItem *sipCpp;

		if (sipParseArgs(&sipArgsParsed,sipArgs,"ml",sipThisObj,sipClass_QCanvasItem,&sipCpp,&a0))
		{
			Py_BEGIN_ALLOW_THREADS
			sipCpp -> QCanvasItem::setActive((bool)a0);
			Py_END_ALLOW_THREADS

			Py_INCREF(Py_None);
			return Py_None;
		}
	}

	// Report an error if the arguments couldn't be parsed.

	sipNoMethod(sipArgsParsed,sipName_QCanvasItem,sipName_setActive);

	return NULL;
}

static PyObject *sipDo_QCanvasItem_isActive(PyObject *sipThisObj,PyObject *sipArgs)
{
	int sipArgsParsed = 0;

	{
		QCanvasItem *sipCpp;

		if (sipParseArgs(&sipArgsParsed,sipArgs,"m",sipThisObj,sipClass_QCanvasItem,&sipCpp))
		{
			bool res;

			Py_BEGIN_ALLOW_THREADS
			res = sipCpp -> QCanvasItem::isActive();
			Py_END_ALLOW_THREADS

			return sipConvertFromBool((int)res);
		}
	}

	// Report an error if the arguments couldn't be parsed.

	sipNoMethod(sipArgsParsed,sipName_QCanvasItem,sipName_isActive);

	return NULL;
}

static PyObject *sipDo_QCanvasItem_rtti(PyObject *sipThisObj,PyObject *sipArgs)
{
	int sipArgsParsed = 0;

	{
		QCanvasItem *sipCpp;

		if (sipParseArgs(&sipArgsParsed,sipArgs,"m",sipThisObj,sipClass_QCanvasItem,&sipCpp))
		{
			int res;

			Py_BEGIN_ALLOW_THREADS
			res = sipCpp -> QCanvasItem::rtti();
			Py_END_ALLOW_THREADS

			return PyInt_FromLong((long)res);
		}
	}

	// Report an error if the arguments couldn't be parsed.

	sipNoMethod(sipArgsParsed,sipName_QCanvasItem,sipName_rtti);

	return NULL;
}

static PyObject *sipDo_QCanvasItem_boundingRect(PyObject *sipThisObj,PyObject *sipArgs)
{
	int sipArgsParsed = 0;

	{
		QCanvasItem *sipCpp;

		if (sipParseArgs(&sipArgsParsed,sipArgs,"m",sipThisObj,sipClass_QCanvasItem,&sipCpp))
		{
			QRect *res;

			Py_BEGIN_ALLOW_THREADS
			res = new QRect(sipCpp -> boundingRect());
			Py_END_ALLOW_THREADS

			return sipNewCppToSelf(res,sipClass_QRect,SIP_SIMPLE | SIP_PY_OWNED);
		}
	}

	// Report an error if the arguments couldn't be parsed.

	sipNoMethod(sipArgsParsed,sipName_QCanvasItem,sipName_boundingRect);

	return NULL;
}

static PyObject *sipDo_QCanvasItem_boundingRectAdvanced(PyObject *sipThisObj,PyObject *sipArgs)
{
	int sipArgsParsed = 0;

	{
		QCanvasItem *sipCpp;

		if (sipParseArgs(&sipArgsParsed,sipArgs,"m",sipThisObj,sipClass_QCanvasItem,&sipCpp))
		{
			QRect *res;

			Py_BEGIN_ALLOW_THREADS
			res = new QRect(sipCpp -> QCanvasItem::boundingRectAdvanced());
			Py_END_ALLOW_THREADS

			return sipNewCppToSelf(res,sipClass_QRect,SIP_SIMPLE | SIP_PY_OWNED);
		}
	}

	// Report an error if the arguments couldn't be parsed.

	sipNoMethod(sipArgsParsed,sipName_QCanvasItem,sipName_boundingRectAdvanced);

	return NULL;
}

static PyObject *sipDo_QCanvasItem_canvas(PyObject *sipThisObj,PyObject *sipArgs)
{
	int sipArgsParsed = 0;

	{
		QCanvasItem *sipCpp;

		if (sipParseArgs(&sipArgsParsed,sipArgs,"m",sipThisObj,sipClass_QCanvasItem,&sipCpp))
		{
			QCanvas *res;

			Py_BEGIN_ALLOW_THREADS
			res = sipCpp -> QCanvasItem::canvas();
			Py_END_ALLOW_THREADS

			return sipMapCppToSelfSubClass(res,sipClass_QCanvas);
		}
	}

	// Report an error if the arguments couldn't be parsed.

	sipNoMethod(sipArgsParsed,sipName_QCanvasItem,sipName_canvas);

	return NULL;
}

static PyObject *sipDo_QCanvasItem_update(PyObject *sipThisObj,PyObject *sipArgs)
{
	int sipArgsParsed = 0;

	{
		QCanvasItem *sipCpp;

		if (sipParseArgs(&sipArgsParsed,sipArgs,"p",sipThisObj,sipClass_QCanvasItem,&sipCpp))
		{
			/* Never reached. */
		}
	}

	// Report an error if the arguments couldn't be parsed.

	sipNoMethod(sipArgsParsed,sipName_QCanvasItem,sipName_update);

	return NULL;
}

// Cast a pointer to a type somewhere in its superclass hierarchy.

const void *sipCast_QCanvasItem(const void *ptr,PyObject *targetClass)
{
	const void *res;

	if (targetClass == sipClass_QCanvasItem)
		return ptr;

	if ((res = sipCast_Qt((Qt *)(QCanvasItem *)ptr,targetClass)) != NULL)
		return res;

	return NULL;
}

static void sipDealloc_QCanvasItem(sipThisType *sipThis)
{
	sipDeleteThis(sipThis);
}

PyObject *sipNew_QCanvasItem(PyObject *sipSelf,PyObject *sipArgs)
{
	static sipExtraType et = {
		sipCast_QCanvasItem,
		(void *)sipNewProxy_qtcanvas,
		NULL
	};

	sipThisType *sipThis = NULL;
	const void *sipNew = NULL;
	int sipFlags = SIP_PY_OWNED;
	int sipArgsParsed = 0;

	// See if there is something pending.

	sipNew = sipGetPending(&sipFlags);

	if (sipNew == NULL)
	{
		sipNoCtor(sipArgsParsed,sipName_QCanvasItem);
		return NULL;
	}

	// Wrap the object.

	if ((sipThis = sipCreateThis(sipSelf,sipNew,&sipType_QCanvasItem,sipFlags,&et)) == NULL)
	{
		return NULL;
	}

	Py_INCREF(Py_None);
	return Py_None;
}

static PyMethodDef lazyMethods_QCanvasItem[] = {
	{sipName_advance, sipDo_QCanvasItem_advance, METH_VARARGS, NULL},
	{sipName_animated, sipDo_QCanvasItem_animated, METH_VARARGS, NULL},
	{sipName_boundingRect, sipDo_QCanvasItem_boundingRect, METH_VARARGS, NULL},
	{sipName_boundingRectAdvanced, sipDo_QCanvasItem_boundingRectAdvanced, METH_VARARGS, NULL},
	{sipName_canvas, sipDo_QCanvasItem_canvas, METH_VARARGS, NULL},
	{sipName_collidesWith, sipDo_QCanvasItem_collidesWith, METH_VARARGS, NULL},
	{sipName_collisions, sipDo_QCanvasItem_collisions, METH_VARARGS, NULL},
	{sipName_draw, sipDo_QCanvasItem_draw, METH_VARARGS, NULL},
	{sipName_hide, sipDo_QCanvasItem_hide, METH_VARARGS, NULL},
	{sipName_isActive, sipDo_QCanvasItem_isActive, METH_VARARGS, NULL},
	{sipName_isEnabled, sipDo_QCanvasItem_isEnabled, METH_VARARGS, NULL},
	{sipName_isSelected, sipDo_QCanvasItem_isSelected, METH_VARARGS, NULL},
	{sipName_isVisible, sipDo_QCanvasItem_isVisible, METH_VARARGS, NULL},
	{sipName_move, sipDo_QCanvasItem_move, METH_VARARGS, NULL},
	{sipName_moveBy, sipDo_QCanvasItem_moveBy, METH_VARARGS, NULL},
	{sipName_rtti, sipDo_QCanvasItem_rtti, METH_VARARGS, NULL},
	{sipName_setActive, sipDo_QCanvasItem_setActive, METH_VARARGS, NULL},
	{sipName_setAnimated, sipDo_QCanvasItem_setAnimated, METH_VARARGS, NULL},
	{sipName_setCanvas, sipDo_QCanvasItem_setCanvas, METH_VARARGS, NULL},
	{sipName_setEnabled, sipDo_QCanvasItem_setEnabled, METH_VARARGS, NULL},
	{sipName_setSelected, sipDo_QCanvasItem_setSelected, METH_VARARGS, NULL},
	{sipName_setVelocity, sipDo_QCanvasItem_setVelocity, METH_VARARGS, NULL},
	{sipName_setVisible, sipDo_QCanvasItem_setVisible, METH_VARARGS, NULL},
	{sipName_setX, sipDo_QCanvasItem_setX, METH_VARARGS, NULL},
	{sipName_setXVelocity, sipDo_QCanvasItem_setXVelocity, METH_VARARGS, NULL},
	{sipName_setY, sipDo_QCanvasItem_setY, METH_VARARGS, NULL},
	{sipName_setYVelocity, sipDo_QCanvasItem_setYVelocity, METH_VARARGS, NULL},
	{sipName_setZ, sipDo_QCanvasItem_setZ, METH_VARARGS, NULL},
	{sipName_show, sipDo_QCanvasItem_show, METH_VARARGS, NULL},
	{sipName_update, sipDo_QCanvasItem_update, METH_VARARGS, NULL},
	{sipName_x, sipDo_QCanvasItem_x, METH_VARARGS, NULL},
	{sipName_xVelocity, sipDo_QCanvasItem_xVelocity, METH_VARARGS, NULL},
	{sipName_y, sipDo_QCanvasItem_y, METH_VARARGS, NULL},
	{sipName_yVelocity, sipDo_QCanvasItem_yVelocity, METH_VARARGS, NULL},
	{sipName_z, sipDo_QCanvasItem_z, METH_VARARGS, NULL}
};

static sipEnumValueInstanceDef lazyEnums_QCanvasItem[] = {
	{sipName_Rtti_Ellipse, QCanvasItem::Rtti_Ellipse},
	{sipName_Rtti_Item, QCanvasItem::Rtti_Item},
	{sipName_Rtti_Line, QCanvasItem::Rtti_Line},
	{sipName_Rtti_Polygon, QCanvasItem::Rtti_Polygon},
	{sipName_Rtti_PolygonalItem, QCanvasItem::Rtti_PolygonalItem},
	{sipName_Rtti_Rectangle, QCanvasItem::Rtti_Rectangle},
	{sipName_Rtti_Spline, QCanvasItem::Rtti_Spline},
	{sipName_Rtti_Sprite, QCanvasItem::Rtti_Sprite},
	{sipName_Rtti_Text, QCanvasItem::Rtti_Text}
};

sipLazyAttrDef sipClassAttrTab_QCanvasItem = {
	0, NULL,
	sizeof (lazyMethods_QCanvasItem) / sizeof (PyMethodDef), lazyMethods_QCanvasItem,
	sizeof (lazyEnums_QCanvasItem) / sizeof (sipEnumValueInstanceDef), lazyEnums_QCanvasItem
};

QCanvasItem *sipForceConvertTo_QCanvasItem(PyObject *valobj,int *iserrp)
{
	if (*iserrp || valobj == NULL)
		return NULL;

	if (valobj == Py_None || sipIsSubClassInstance(valobj,sipClass_QCanvasItem))
		return (QCanvasItem *)sipConvertToCpp(valobj,sipClass_QCanvasItem,iserrp);

	sipBadClass(sipName_QCanvasItem);

	*iserrp = 1;

	return NULL;
}
