// C++ interface header file.
//
// Generated by SIP 3.7 (build 102) on Fri Jul 25 00:26:03 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.

#ifndef _qtcanvasQCanvasSprite_h
#define	_qtcanvasQCanvasSprite_h

#line 577 "sip/qcanvas.sip"
#include <qcanvas.h>
#line 30 "sipqtcanvasQCanvasSprite.h"

#include "sipqtcanvasQCanvasItem.h"
#include "sipqtcanvasQCanvasPixmapArray.h"
#include "sipqtcanvasQCanvas.h"
#include "sipqtQRect.h"
#include "sipqtcanvasQCanvasPixmap.h"
#include "sipqtQPainter.h"


extern SIP_MODULE_EXTERN sipLazyAttrDef sipClassAttrTab_QCanvasSprite;

extern SIP_MODULE_EXTERN const void *sipCast_QCanvasSprite Py_PROTO((const void *,PyObject *));
extern SIP_MODULE_EXTERN PyObject *sipNew_QCanvasSprite Py_PROTO((PyObject *,PyObject *));


class SIP_MODULE_EXTERN sipQCanvasSprite : public QCanvasSprite
{
public:
	sipQCanvasSprite(QCanvasPixmapArray *,QCanvas *);
	~sipQCanvasSprite();
	QRect boundingRectAdvanced() const;
	QRect boundingRect() const;
	int rtti() const;
	void setActive(bool);
	void setEnabled(bool);
	void setSelected(bool);
	void setVisible(bool);
	void draw(QPainter&);
	void setCanvas(QCanvas *);
	bool collidesWith(const QCanvasItem *) const;
	void advance(int);
	void setVelocity(double,double);
	void setAnimated(bool);
	void moveBy(double,double);
	QCanvasPixmap * imageAdvanced() const;
	static QCanvasPixmap * sipVH_imageAdvanced(const sipMethodCache *,sipThisType *);
	void setFrameAnimation(QCanvasSprite::FrameAnimationType,int,int);
	static void sipVH_setFrameAnimation(const sipMethodCache *,sipThisType *,QCanvasSprite::FrameAnimationType,int,int);
	void move(double,double,int);
	static void sipVH_move(const sipMethodCache *,sipThisType *,double,double,int);

	// There is a public member function for every protected member
	// function visible from this class.

	void sipProtect_update();

	sipThisType *sipPyThis;

private:
	sipQCanvasSprite(const sipQCanvasSprite &);
	sipQCanvasSprite &operator = (const sipQCanvasSprite &);

	sipMethodCache sipPyMethods[17];
};

extern SIP_MODULE_EXTERN QCanvasSprite *sipForceConvertTo_QCanvasSprite Py_PROTO((PyObject *,int *));

#endif
