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

class x_QCanvasSpline : public QCanvasSpline {
public:
    static void x_0(Smoke::Stack x) {
	x[0].s_class = (void*)new int(QCanvasSpline::RTTI);
    }
    static void x_1(Smoke::Stack x) {
	// QCanvasSpline(QCanvas*)
	x_QCanvasSpline* xret = new x_QCanvasSpline((QCanvas*)x[1].s_class);
	x[0].s_class = (void*)xret;
    }
    x_QCanvasSpline(QCanvas* x1) : QCanvasSpline(x1) {
    }
    void x_2(Smoke::Stack x) {
	// setControlPoints(QPointArray, bool)
	this->QCanvasSpline::setControlPoints(*(QPointArray *)x[1].s_class,(bool)x[2].s_bool);
	(void)x; // noop (for compiler warning)
    }
    void x_3(Smoke::Stack x) {
	// setControlPoints(QPointArray)
	this->QCanvasSpline::setControlPoints(*(QPointArray *)x[1].s_class);
	(void)x; // noop (for compiler warning)
    }
    void x_4(Smoke::Stack x) const {
	// controlPoints()
	QPointArray xret = this->QCanvasSpline::controlPoints();
	x[0].s_class = (void*)new QPointArray(xret);
    }
    void x_5(Smoke::Stack x) const {
	// closed()
	bool xret = this->QCanvasSpline::closed();
	x[0].s_bool = xret;
    }
    void x_6(Smoke::Stack x) const {
	// rtti()
	int xret = this->QCanvasSpline::rtti();
	x[0].s_int = xret;
    }
    static void x_7(Smoke::Stack x) {
	// QCanvasSpline(const QCanvasSpline&)
	x_QCanvasSpline* xret = new x_QCanvasSpline(*(const QCanvasSpline *)x[1].s_class);
	x[0].s_class = (void*)xret;
    }
    x_QCanvasSpline(const QCanvasSpline& x1) : QCanvasSpline(x1) {
    }
    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 QPointArray areaPoints() const {
	Smoke::StackItem x[1];
	if(qt_Smoke->binding->callMethod(740, (void*)this, x)) {
	    QPointArray *xptr = (QPointArray *)x[0].s_class;
	    QPointArray xret(*xptr);
	    delete xptr;
	    return xret;
	}
	return this->QCanvasPolygon::areaPoints();
    }
    virtual QPointArray areaPointsAdvanced() const {
	Smoke::StackItem x[1];
	if(qt_Smoke->binding->callMethod(753, (void*)this, x)) {
	    QPointArray *xptr = (QPointArray *)x[0].s_class;
	    QPointArray xret(*xptr);
	    delete xptr;
	    return xret;
	}
	return this->QCanvasPolygonalItem::areaPointsAdvanced();
    }
    virtual QRect boundingRect() const {
	Smoke::StackItem x[1];
	if(qt_Smoke->binding->callMethod(754, (void*)this, x)) {
	    QRect *xptr = (QRect *)x[0].s_class;
	    QRect xret(*xptr);
	    delete xptr;
	    return xret;
	}
	return this->QCanvasPolygonalItem::boundingRect();
    }
    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;
	if(qt_Smoke->binding->callMethod(747, (void*)this, x)) return (bool)x[0].s_bool;
	return this->QCanvasPolygonalItem::collidesWith(x1);
    }
    virtual void draw(QPainter& x1) {
	Smoke::StackItem x[2];
	x[1].s_class = (void*)&x1;
	if(qt_Smoke->binding->callMethod(758, (void*)this, x)) return;
	this->QCanvasPolygonalItem::draw(x1);
    }
    virtual void drawShape(QPainter& x1) {
	Smoke::StackItem x[2];
	x[1].s_class = (void*)&x1;
	if(qt_Smoke->binding->callMethod(744, (void*)this, x)) return;
	this->QCanvasPolygon::drawShape(x1);
    }
    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(739, (void*)this, x)) return;
	this->QCanvasPolygon::moveBy(x1, x2);
    }
    virtual int rtti() const {
	Smoke::StackItem x[1];
	if(qt_Smoke->binding->callMethod(786, (void*)this, x)) return (int)x[0].s_int;
	return this->QCanvasSpline::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 setBrush(QBrush x1) {
	Smoke::StackItem x[2];
	x[1].s_class = (void*)&x1;
	if(qt_Smoke->binding->callMethod(749, (void*)this, x)) return;
	this->QCanvasPolygonalItem::setBrush(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 setPen(QPen x1) {
	Smoke::StackItem x[2];
	x[1].s_class = (void*)&x1;
	if(qt_Smoke->binding->callMethod(748, (void*)this, x)) return;
	this->QCanvasPolygonalItem::setPen(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);
    }
    ~x_QCanvasSpline() { qt_Smoke->binding->deleted(29, (void*)this); }
};
void xcall_QCanvasSpline(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QCanvasSpline *xself = (x_QCanvasSpline*)obj;
    switch(xi) {
	case 0: x_QCanvasSpline::x_0(args);	break;
	case 1: x_QCanvasSpline::x_1(args);	break;
	case 2: xself->x_2(args);	break;
	case 3: xself->x_3(args);	break;
	case 4: xself->x_4(args);	break;
	case 5: xself->x_5(args);	break;
	case 6: xself->x_6(args);	break;
	case 7: x_QCanvasSpline::x_7(args);	break;
	case 8: delete (QCanvasSpline*)xself;	break;
    }
}
