//Auto-generated by kalyptus. DO NOT EDIT.
#include <smoke.h>
#include <qt_smoke.h>
#include <qpoint.h>
#include <qregion.h>
#include <qwmatrix.h>
#include <qpointarray.h>
#include <qrect.h>

class x_QWMatrix : public QWMatrix {
public:
    static void x_0(Smoke::Stack x) {
	x[0].s_enum = (long)QWMatrix::Points;
    }
    static void x_1(Smoke::Stack x) {
	x[0].s_enum = (long)QWMatrix::Areas;
    }
    static void x_2(Smoke::Stack x) {
	// QWMatrix()
	x_QWMatrix* xret = new x_QWMatrix();
	x[0].s_class = (void*)xret;
    }
    x_QWMatrix() : QWMatrix() {
    }
    static void x_3(Smoke::Stack x) {
	// QWMatrix(double, double, double, double, double, double)
	x_QWMatrix* xret = new x_QWMatrix((double)x[1].s_double,(double)x[2].s_double,(double)x[3].s_double,(double)x[4].s_double,(double)x[5].s_double,(double)x[6].s_double);
	x[0].s_class = (void*)xret;
    }
    x_QWMatrix(double x1, double x2, double x3, double x4, double x5, double x6) : QWMatrix(x1, x2, x3, x4, x5, x6) {
    }
    void x_4(Smoke::Stack x) {
	// setMatrix(double, double, double, double, double, double)
	this->QWMatrix::setMatrix((double)x[1].s_double,(double)x[2].s_double,(double)x[3].s_double,(double)x[4].s_double,(double)x[5].s_double,(double)x[6].s_double);
	(void)x; // noop (for compiler warning)
    }
    void x_5(Smoke::Stack x) const {
	// m11()
	double xret = this->QWMatrix::m11();
	x[0].s_double = xret;
    }
    void x_6(Smoke::Stack x) const {
	// m12()
	double xret = this->QWMatrix::m12();
	x[0].s_double = xret;
    }
    void x_7(Smoke::Stack x) const {
	// m21()
	double xret = this->QWMatrix::m21();
	x[0].s_double = xret;
    }
    void x_8(Smoke::Stack x) const {
	// m22()
	double xret = this->QWMatrix::m22();
	x[0].s_double = xret;
    }
    void x_9(Smoke::Stack x) const {
	// dx()
	double xret = this->QWMatrix::dx();
	x[0].s_double = xret;
    }
    void x_10(Smoke::Stack x) const {
	// dy()
	double xret = this->QWMatrix::dy();
	x[0].s_double = xret;
    }
    void x_11(Smoke::Stack x) const {
	// map(int, int, int*, int*)
	this->QWMatrix::map((int)x[1].s_int,(int)x[2].s_int,(int*)x[3].s_voidp,(int*)x[4].s_voidp);
	(void)x; // noop (for compiler warning)
    }
    void x_12(Smoke::Stack x) const {
	// map(double, double, double*, double*)
	this->QWMatrix::map((double)x[1].s_double,(double)x[2].s_double,(double*)x[3].s_voidp,(double*)x[4].s_voidp);
	(void)x; // noop (for compiler warning)
    }
    void x_13(Smoke::Stack x) const {
	// mapRect(const QRect&)
	QRect xret = this->QWMatrix::mapRect(*(const QRect *)x[1].s_class);
	x[0].s_class = (void*)new QRect(xret);
    }
    void x_14(Smoke::Stack x) const {
	// map(const QPoint&)
	QPoint xret = this->QWMatrix::map(*(const QPoint *)x[1].s_class);
	x[0].s_class = (void*)new QPoint(xret);
    }
    void x_15(Smoke::Stack x) const {
	// map(const QRect&)
	QRect xret = this->QWMatrix::map(*(const QRect *)x[1].s_class);
	x[0].s_class = (void*)new QRect(xret);
    }
    void x_16(Smoke::Stack x) const {
	// map(const QPointArray&)
	QPointArray xret = this->QWMatrix::map(*(const QPointArray *)x[1].s_class);
	x[0].s_class = (void*)new QPointArray(xret);
    }
    void x_17(Smoke::Stack x) const {
	// map(const QRegion&)
	QRegion xret = this->QWMatrix::map(*(const QRegion *)x[1].s_class);
	x[0].s_class = (void*)new QRegion(xret);
    }
    void x_18(Smoke::Stack x) const {
	// mapToRegion(const QRect&)
	QRegion xret = this->QWMatrix::mapToRegion(*(const QRect *)x[1].s_class);
	x[0].s_class = (void*)new QRegion(xret);
    }
    void x_19(Smoke::Stack x) const {
	// mapToPolygon(const QRect&)
	QPointArray xret = this->QWMatrix::mapToPolygon(*(const QRect *)x[1].s_class);
	x[0].s_class = (void*)new QPointArray(xret);
    }
    void x_20(Smoke::Stack x) {
	// reset()
	this->QWMatrix::reset();
	(void)x; // noop (for compiler warning)
    }
    void x_21(Smoke::Stack x) const {
	// isIdentity()
	bool xret = this->QWMatrix::isIdentity();
	x[0].s_bool = xret;
    }
    void x_22(Smoke::Stack x) {
	// translate(double, double)
	QWMatrix& xret = this->QWMatrix::translate((double)x[1].s_double,(double)x[2].s_double);
	x[0].s_class = (void*)&xret;
    }
    void x_23(Smoke::Stack x) {
	// scale(double, double)
	QWMatrix& xret = this->QWMatrix::scale((double)x[1].s_double,(double)x[2].s_double);
	x[0].s_class = (void*)&xret;
    }
    void x_24(Smoke::Stack x) {
	// shear(double, double)
	QWMatrix& xret = this->QWMatrix::shear((double)x[1].s_double,(double)x[2].s_double);
	x[0].s_class = (void*)&xret;
    }
    void x_25(Smoke::Stack x) {
	// rotate(double)
	QWMatrix& xret = this->QWMatrix::rotate((double)x[1].s_double);
	x[0].s_class = (void*)&xret;
    }
    void x_26(Smoke::Stack x) const {
	// isInvertible()
	bool xret = this->QWMatrix::isInvertible();
	x[0].s_bool = xret;
    }
    void x_27(Smoke::Stack x) const {
	// det()
	double xret = this->QWMatrix::det();
	x[0].s_double = xret;
    }
    void x_28(Smoke::Stack x) const {
	// invert(bool*)
	QWMatrix xret = this->QWMatrix::invert((bool*)x[1].s_voidp);
	x[0].s_class = (void*)new QWMatrix(xret);
    }
    void x_29(Smoke::Stack x) const {
	// invert()
	QWMatrix xret = this->QWMatrix::invert();
	x[0].s_class = (void*)new QWMatrix(xret);
    }
    void x_30(Smoke::Stack x) const {
	// operator==(const QWMatrix&)
	bool xret = this->QWMatrix::operator==(*(const QWMatrix *)x[1].s_class);
	x[0].s_bool = xret;
    }
    void x_31(Smoke::Stack x) const {
	// operator!=(const QWMatrix&)
	bool xret = this->QWMatrix::operator!=(*(const QWMatrix *)x[1].s_class);
	x[0].s_bool = xret;
    }
    void x_32(Smoke::Stack x) {
	// operator*=(const QWMatrix&)
	QWMatrix& xret = this->QWMatrix::operator*=(*(const QWMatrix *)x[1].s_class);
	x[0].s_class = (void*)&xret;
    }
    void x_33(Smoke::Stack x) const {
	// operator *(const QPoint&)
	QPoint xret = this->QWMatrix::operator *(*(const QPoint *)x[1].s_class);
	x[0].s_class = (void*)new QPoint(xret);
    }
    void x_34(Smoke::Stack x) const {
	// operator *(const QRect&)
	QRegion xret = this->QWMatrix::operator *(*(const QRect *)x[1].s_class);
	x[0].s_class = (void*)new QRegion(xret);
    }
    void x_35(Smoke::Stack x) const {
	// operator *(const QRegion&)
	QRegion xret = this->QWMatrix::operator *(*(const QRegion *)x[1].s_class);
	x[0].s_class = (void*)new QRegion(xret);
    }
    void x_36(Smoke::Stack x) const {
	// operator *(const QPointArray&)
	QPointArray xret = this->QWMatrix::operator *(*(const QPointArray *)x[1].s_class);
	x[0].s_class = (void*)new QPointArray(xret);
    }
    static void x_37(Smoke::Stack x) {
	// QWMatrix(const QWMatrix&)
	x_QWMatrix* xret = new x_QWMatrix(*(const QWMatrix *)x[1].s_class);
	x[0].s_class = (void*)xret;
    }
    x_QWMatrix(const QWMatrix& x1) : QWMatrix(x1) {
    }
    static void x_38(Smoke::Stack x) {
	// setTransformationMode(QWMatrix::TransformationMode)
	QWMatrix::setTransformationMode((QWMatrix::TransformationMode)x[1].s_enum);
	(void)x; // noop (for compiler warning)
    }
    static void x_39(Smoke::Stack x) {
	// transformationMode()
	QWMatrix::TransformationMode xret = QWMatrix::transformationMode();
	x[0].s_enum = xret;
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
	switch(xtype) {
	  case 739: //QWMatrix::TransformationMode
	    switch(xop) {
	      case Smoke::EnumNew:
		xdata = (void*)new QWMatrix::TransformationMode;
		break;
	      case Smoke::EnumDelete:
		delete (QWMatrix::TransformationMode*)xdata;
		break;
	      case Smoke::EnumFromLong:
		*(QWMatrix::TransformationMode*)xdata = (QWMatrix::TransformationMode)xvalue;
		break;
	      case Smoke::EnumToLong:
		xvalue = (long)*(QWMatrix::TransformationMode*)xdata;
		break;
	    }
	    break;
	}
    }
    ~x_QWMatrix() { qt_Smoke->binding->deleted(357, (void*)this); }
};
void xenum_QWMatrix(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QWMatrix::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QWMatrix(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QWMatrix *xself = (x_QWMatrix*)obj;
    switch(xi) {
	case 0: x_QWMatrix::x_0(args);	break;
	case 1: x_QWMatrix::x_1(args);	break;
	case 2: x_QWMatrix::x_2(args);	break;
	case 3: x_QWMatrix::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: xself->x_7(args);	break;
	case 8: xself->x_8(args);	break;
	case 9: xself->x_9(args);	break;
	case 10: xself->x_10(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: x_QWMatrix::x_37(args);	break;
	case 38: x_QWMatrix::x_38(args);	break;
	case 39: x_QWMatrix::x_39(args);	break;
	case 40: delete (QWMatrix*)xself;	break;
    }
}
