//Auto-generated by kalyptus. DO NOT EDIT.
#include <smoke.h>
#include <qt_smoke.h>
#include <qrect.h>
#include <qpainter.h>
#include <qcanvas.h>

class x_QCanvasItem : public QCanvasItem {
public:
    static void x_0(Smoke::Stack x) {
	x[0].s_enum = (long)QCanvasItem::Rtti_Item;
    }
    static void x_1(Smoke::Stack x) {
	x[0].s_enum = (long)QCanvasItem::Rtti_Sprite;
    }
    static void x_2(Smoke::Stack x) {
	x[0].s_enum = (long)QCanvasItem::Rtti_PolygonalItem;
    }
    static void x_3(Smoke::Stack x) {
	x[0].s_enum = (long)QCanvasItem::Rtti_Text;
    }
    static void x_4(Smoke::Stack x) {
	x[0].s_enum = (long)QCanvasItem::Rtti_Polygon;
    }
    static void x_5(Smoke::Stack x) {
	x[0].s_enum = (long)QCanvasItem::Rtti_Rectangle;
    }
    static void x_6(Smoke::Stack x) {
	x[0].s_enum = (long)QCanvasItem::Rtti_Ellipse;
    }
    static void x_7(Smoke::Stack x) {
	x[0].s_enum = (long)QCanvasItem::Rtti_Line;
    }
    static void x_8(Smoke::Stack x) {
	x[0].s_enum = (long)QCanvasItem::Rtti_Spline;
    }
    static void x_9(Smoke::Stack x) {
	x[0].s_class = (void*)new int(QCanvasItem::RTTI);
    }
    x_QCanvasItem(QCanvas* x1) : QCanvasItem(x1) {}
    void x_11(Smoke::Stack x) const {
	// x()
	double xret = this->QCanvasItem::x();
	x[0].s_double = xret;
    }
    void x_12(Smoke::Stack x) const {
	// y()
	double xret = this->QCanvasItem::y();
	x[0].s_double = xret;
    }
    void x_13(Smoke::Stack x) const {
	// z()
	double xret = this->QCanvasItem::z();
	x[0].s_double = xret;
    }
    void x_14(Smoke::Stack x) {
	// moveBy(double, double)
	this->QCanvasItem::moveBy((double)x[1].s_double,(double)x[2].s_double);
	(void)x; // noop (for compiler warning)
    }
    void x_15(Smoke::Stack x) {
	// move(double, double)
	this->QCanvasItem::move((double)x[1].s_double,(double)x[2].s_double);
	(void)x; // noop (for compiler warning)
    }
    void x_16(Smoke::Stack x) {
	// setX(double)
	this->QCanvasItem::setX((double)x[1].s_double);
	(void)x; // noop (for compiler warning)
    }
    void x_17(Smoke::Stack x) {
	// setY(double)
	this->QCanvasItem::setY((double)x[1].s_double);
	(void)x; // noop (for compiler warning)
    }
    void x_18(Smoke::Stack x) {
	// setZ(double)
	this->QCanvasItem::setZ((double)x[1].s_double);
	(void)x; // noop (for compiler warning)
    }
    void x_19(Smoke::Stack x) const {
	// animated()
	bool xret = this->QCanvasItem::animated();
	x[0].s_bool = xret;
    }
    void x_20(Smoke::Stack x) {
	// setAnimated(bool)
	this->QCanvasItem::setAnimated((bool)x[1].s_bool);
	(void)x; // noop (for compiler warning)
    }
    void x_21(Smoke::Stack x) {
	// setVelocity(double, double)
	this->QCanvasItem::setVelocity((double)x[1].s_double,(double)x[2].s_double);
	(void)x; // noop (for compiler warning)
    }
    void x_22(Smoke::Stack x) {
	// setXVelocity(double)
	this->QCanvasItem::setXVelocity((double)x[1].s_double);
	(void)x; // noop (for compiler warning)
    }
    void x_23(Smoke::Stack x) {
	// setYVelocity(double)
	this->QCanvasItem::setYVelocity((double)x[1].s_double);
	(void)x; // noop (for compiler warning)
    }
    void x_24(Smoke::Stack x) const {
	// xVelocity()
	double xret = this->QCanvasItem::xVelocity();
	x[0].s_double = xret;
    }
    void x_25(Smoke::Stack x) const {
	// yVelocity()
	double xret = this->QCanvasItem::yVelocity();
	x[0].s_double = xret;
    }
    void x_26(Smoke::Stack x) {
	// advance(int)
	this->QCanvasItem::advance((int)x[1].s_int);
	(void)x; // noop (for compiler warning)
    }
    void x_27(Smoke::Stack x) const {
	// collisions(bool)
	QCanvasItemList xret = this->QCanvasItem::collisions((bool)x[1].s_bool);
	x[0].s_class = (void*)new QCanvasItemList(xret);
    }
    void x_28(Smoke::Stack x) {
	// setCanvas(QCanvas*)
	this->QCanvasItem::setCanvas((QCanvas*)x[1].s_class);
	(void)x; // noop (for compiler warning)
    }
    void x_29(Smoke::Stack x) {
	// show()
	this->QCanvasItem::show();
	(void)x; // noop (for compiler warning)
    }
    void x_30(Smoke::Stack x) {
	// hide()
	this->QCanvasItem::hide();
	(void)x; // noop (for compiler warning)
    }
    void x_31(Smoke::Stack x) {
	// setVisible(bool)
	this->QCanvasItem::setVisible((bool)x[1].s_bool);
	(void)x; // noop (for compiler warning)
    }
    void x_32(Smoke::Stack x) const {
	// isVisible()
	bool xret = this->QCanvasItem::isVisible();
	x[0].s_bool = xret;
    }
    void x_33(Smoke::Stack x) {
	// setSelected(bool)
	this->QCanvasItem::setSelected((bool)x[1].s_bool);
	(void)x; // noop (for compiler warning)
    }
    void x_34(Smoke::Stack x) const {
	// isSelected()
	bool xret = this->QCanvasItem::isSelected();
	x[0].s_bool = xret;
    }
    void x_35(Smoke::Stack x) {
	// setEnabled(bool)
	this->QCanvasItem::setEnabled((bool)x[1].s_bool);
	(void)x; // noop (for compiler warning)
    }
    void x_36(Smoke::Stack x) const {
	// isEnabled()
	bool xret = this->QCanvasItem::isEnabled();
	x[0].s_bool = xret;
    }
    void x_37(Smoke::Stack x) {
	// setActive(bool)
	this->QCanvasItem::setActive((bool)x[1].s_bool);
	(void)x; // noop (for compiler warning)
    }
    void x_38(Smoke::Stack x) const {
	// isActive()
	bool xret = this->QCanvasItem::isActive();
	x[0].s_bool = xret;
    }
    void x_39(Smoke::Stack x) const {
	// visible()
	bool xret = this->QCanvasItem::visible();
	x[0].s_bool = xret;
    }
    void x_40(Smoke::Stack x) const {
	// selected()
	bool xret = this->QCanvasItem::selected();
	x[0].s_bool = xret;
    }
    void x_41(Smoke::Stack x) const {
	// enabled()
	bool xret = this->QCanvasItem::enabled();
	x[0].s_bool = xret;
    }
    void x_42(Smoke::Stack x) const {
	// active()
	bool xret = this->QCanvasItem::active();
	x[0].s_bool = xret;
    }
    void x_43(Smoke::Stack x) const {
	// rtti()
	int xret = this->QCanvasItem::rtti();
	x[0].s_int = xret;
    }
    void x_44(Smoke::Stack x) const {
	// boundingRectAdvanced()
	QRect xret = this->QCanvasItem::boundingRectAdvanced();
	x[0].s_class = (void*)new QRect(xret);
    }
    void x_45(Smoke::Stack x) const {
	// canvas()
	QCanvas* xret = this->QCanvasItem::canvas();
	x[0].s_class = (void*)xret;
    }
    void x_46(Smoke::Stack x) {
	// update()
	this->QCanvasItem::update();
	(void)x; // noop (for compiler warning)
    }
    virtual void advance(int x1) {
	Smoke::StackItem x[2];
	x[1].s_int = x1;
	if(qt_Smoke->binding->callMethod(673, (void*)this, x)) return;
	this->QCanvasItem::advance(x1);
    }
    virtual QRect boundingRect() const {
	Smoke::StackItem x[1];
	qt_Smoke->binding->callMethod(693, (void*)this, x, true /*pure virtual*/);
	QRect *xptr = (QRect *)x[0].s_class;
	QRect xret(*xptr);
	delete xptr;
	return xret;
	// ABSTRACT
    }
    virtual QRect boundingRectAdvanced() const {
	Smoke::StackItem x[1];
	if(qt_Smoke->binding->callMethod(694, (void*)this, x)) {
	    QRect *xptr = (QRect *)x[0].s_class;
	    QRect xret(*xptr);
	    delete xptr;
	    return xret;
	}
	return this->QCanvasItem::boundingRectAdvanced();
    }
    virtual bool collidesWith(const QCanvasItem* x1) const {
	Smoke::StackItem x[2];
	x[1].s_class = (void*)x1;
	qt_Smoke->binding->callMethod(674, (void*)this, x, true /*pure virtual*/);
	return (bool)x[0].s_bool;
	// ABSTRACT
    }
    virtual void draw(QPainter& x1) {
	Smoke::StackItem x[2];
	x[1].s_class = (void*)&x1;
	qt_Smoke->binding->callMethod(677, (void*)this, x, true /*pure virtual*/);
	return;
	// ABSTRACT
    }
    virtual void moveBy(double x1, double x2) {
	Smoke::StackItem x[3];
	x[1].s_double = x1;
	x[2].s_double = x2;
	if(qt_Smoke->binding->callMethod(661, (void*)this, x)) return;
	this->QCanvasItem::moveBy(x1, x2);
    }
    virtual int rtti() const {
	Smoke::StackItem x[1];
	if(qt_Smoke->binding->callMethod(692, (void*)this, x)) return (int)x[0].s_int;
	return this->QCanvasItem::rtti();
    }
    virtual void setActive(bool x1) {
	Smoke::StackItem x[2];
	x[1].s_bool = x1;
	if(qt_Smoke->binding->callMethod(686, (void*)this, x)) return;
	this->QCanvasItem::setActive(x1);
    }
    virtual void setAnimated(bool x1) {
	Smoke::StackItem x[2];
	x[1].s_bool = x1;
	if(qt_Smoke->binding->callMethod(667, (void*)this, x)) return;
	this->QCanvasItem::setAnimated(x1);
    }
    virtual void setCanvas(QCanvas* x1) {
	Smoke::StackItem x[2];
	x[1].s_class = (void*)x1;
	if(qt_Smoke->binding->callMethod(676, (void*)this, x)) return;
	this->QCanvasItem::setCanvas(x1);
    }
    virtual void setEnabled(bool x1) {
	Smoke::StackItem x[2];
	x[1].s_bool = x1;
	if(qt_Smoke->binding->callMethod(684, (void*)this, x)) return;
	this->QCanvasItem::setEnabled(x1);
    }
    virtual void setSelected(bool x1) {
	Smoke::StackItem x[2];
	x[1].s_bool = x1;
	if(qt_Smoke->binding->callMethod(682, (void*)this, x)) return;
	this->QCanvasItem::setSelected(x1);
    }
    virtual void setVelocity(double x1, double x2) {
	Smoke::StackItem x[3];
	x[1].s_double = x1;
	x[2].s_double = x2;
	if(qt_Smoke->binding->callMethod(668, (void*)this, x)) return;
	this->QCanvasItem::setVelocity(x1, x2);
    }
    virtual void setVisible(bool x1) {
	Smoke::StackItem x[2];
	x[1].s_bool = x1;
	if(qt_Smoke->binding->callMethod(680, (void*)this, x)) return;
	this->QCanvasItem::setVisible(x1);
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
	switch(xtype) {
	  case 43: //QCanvasItem::RttiValues
	    switch(xop) {
	      case Smoke::EnumNew:
		xdata = (void*)new QCanvasItem::RttiValues;
		break;
	      case Smoke::EnumDelete:
		delete (QCanvasItem::RttiValues*)xdata;
		break;
	      case Smoke::EnumFromLong:
		*(QCanvasItem::RttiValues*)xdata = (QCanvasItem::RttiValues)xvalue;
		break;
	      case Smoke::EnumToLong:
		xvalue = (long)*(QCanvasItem::RttiValues*)xdata;
		break;
	    }
	    break;
	}
    }
    ~x_QCanvasItem() { qt_Smoke->binding->deleted(21, (void*)this); }
};
void xenum_QCanvasItem(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QCanvasItem::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QCanvasItem(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QCanvasItem *xself = (x_QCanvasItem*)obj;
    switch(xi) {
	case 0: x_QCanvasItem::x_0(args);	break;
	case 1: x_QCanvasItem::x_1(args);	break;
	case 2: x_QCanvasItem::x_2(args);	break;
	case 3: x_QCanvasItem::x_3(args);	break;
	case 4: x_QCanvasItem::x_4(args);	break;
	case 5: x_QCanvasItem::x_5(args);	break;
	case 6: x_QCanvasItem::x_6(args);	break;
	case 7: x_QCanvasItem::x_7(args);	break;
	case 8: x_QCanvasItem::x_8(args);	break;
	case 9: x_QCanvasItem::x_9(args);	break;
	case 11: xself->x_11(args);	break;
	case 12: xself->x_12(args);	break;
	case 13: xself->x_13(args);	break;
	case 14: xself->x_14(args);	break;
	case 15: xself->x_15(args);	break;
	case 16: xself->x_16(args);	break;
	case 17: xself->x_17(args);	break;
	case 18: xself->x_18(args);	break;
	case 19: xself->x_19(args);	break;
	case 20: xself->x_20(args);	break;
	case 21: xself->x_21(args);	break;
	case 22: xself->x_22(args);	break;
	case 23: xself->x_23(args);	break;
	case 24: xself->x_24(args);	break;
	case 25: xself->x_25(args);	break;
	case 26: xself->x_26(args);	break;
	case 27: xself->x_27(args);	break;
	case 28: xself->x_28(args);	break;
	case 29: xself->x_29(args);	break;
	case 30: xself->x_30(args);	break;
	case 31: xself->x_31(args);	break;
	case 32: xself->x_32(args);	break;
	case 33: xself->x_33(args);	break;
	case 34: xself->x_34(args);	break;
	case 35: xself->x_35(args);	break;
	case 36: xself->x_36(args);	break;
	case 37: xself->x_37(args);	break;
	case 38: xself->x_38(args);	break;
	case 39: xself->x_39(args);	break;
	case 40: xself->x_40(args);	break;
	case 41: xself->x_41(args);	break;
	case 42: xself->x_42(args);	break;
	case 43: xself->x_43(args);	break;
	case 44: xself->x_44(args);	break;
	case 45: xself->x_45(args);	break;
	case 46: xself->x_46(args);	break;
    }
}
