//Auto-generated by /usr/bin/smokegen. DO NOT EDIT.
#include <qtsvg_includes.h>
#include <typeinfo>

#include <smoke.h>
#include <qtsvg_smoke.h>

class __internal_SmokeClass {};

namespace __smokeqtsvg {

class x_QGraphicsSvgItem : public QGraphicsSvgItem, public __internal_SmokeClass {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    void x_1(Smoke::Stack x) {
        // virtual const QMetaObject* metaObject() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QGraphicsSvgItem*>(this))) {
            const QMetaObject* xret = ((const x_QGraphicsSvgItem*)this)->QGraphicsSvgItem::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QGraphicsSvgItem*)this)->metaObject();
            x[0].s_class = (void*)xret;
        }
    }
    void x_2(Smoke::Stack x) {
        // virtual void* qt_metacast(const char*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QGraphicsSvgItem*>(this))) {
            void* xret = this->QGraphicsSvgItem::qt_metacast((const char*)x[1].s_class);
            x[0].s_class = (void*)xret;
        } else {
            void* xret = this->qt_metacast((const char*)x[1].s_class);
            x[0].s_class = (void*)xret;
        }
    }
    static void x_3(Smoke::Stack x) {
        // static QString tr(const char*, const char*)
        QString xret = QGraphicsSvgItem::tr((const char*)x[1].s_class,(const char*)x[2].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_4(Smoke::Stack x) {
        // static QString trUtf8(const char*, const char*)
        QString xret = QGraphicsSvgItem::trUtf8((const char*)x[1].s_class,(const char*)x[2].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_5(Smoke::Stack x) {
        // static QString tr(const char*, const char*, int)
        QString xret = QGraphicsSvgItem::tr((const char*)x[1].s_class,(const char*)x[2].s_class,(int)x[3].s_int);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_6(Smoke::Stack x) {
        // static QString trUtf8(const char*, const char*, int)
        QString xret = QGraphicsSvgItem::trUtf8((const char*)x[1].s_class,(const char*)x[2].s_class,(int)x[3].s_int);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_7(Smoke::Stack x) {
        // virtual int qt_metacall(QMetaObject::Call, int, void**)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QGraphicsSvgItem*>(this))) {
            int xret = this->QGraphicsSvgItem::qt_metacall((QMetaObject::Call)x[1].s_enum,(int)x[2].s_int,(void**)x[3].s_class);
            x[0].s_int = xret;
        } else {
            int xret = this->qt_metacall((QMetaObject::Call)x[1].s_enum,(int)x[2].s_int,(void**)x[3].s_class);
            x[0].s_int = xret;
        }
    }
    static void x_8(Smoke::Stack x) {
        // QGraphicsSvgItem* QGraphicsSvgItem(QGraphicsItem*)
        x_QGraphicsSvgItem* xret = new x_QGraphicsSvgItem((QGraphicsItem*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QGraphicsSvgItem(QGraphicsItem* x1) : QGraphicsSvgItem(x1) {}
    static void x_9(Smoke::Stack x) {
        // QGraphicsSvgItem* QGraphicsSvgItem(const QString&, QGraphicsItem*)
        x_QGraphicsSvgItem* xret = new x_QGraphicsSvgItem(*(const QString*)x[1].s_class,(QGraphicsItem*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QGraphicsSvgItem(const QString& x1, QGraphicsItem* x2) : QGraphicsSvgItem(x1, x2) {}
    void x_10(Smoke::Stack x) {
        // void setSharedRenderer(QSvgRenderer*)
        this->QGraphicsSvgItem::setSharedRenderer((QSvgRenderer*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_11(Smoke::Stack x) {
        // QSvgRenderer* renderer() const
        QSvgRenderer* xret = ((const x_QGraphicsSvgItem*)this)->QGraphicsSvgItem::renderer();
        x[0].s_class = (void*)xret;
    }
    void x_12(Smoke::Stack x) {
        // void setElementId(const QString&)
        this->QGraphicsSvgItem::setElementId(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_13(Smoke::Stack x) {
        // QString elementId() const
        QString xret = ((const x_QGraphicsSvgItem*)this)->QGraphicsSvgItem::elementId();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_14(Smoke::Stack x) {
        // void setCachingEnabled(bool)
        this->QGraphicsSvgItem::setCachingEnabled((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_15(Smoke::Stack x) {
        // bool isCachingEnabled() const
        bool xret = ((const x_QGraphicsSvgItem*)this)->QGraphicsSvgItem::isCachingEnabled();
        x[0].s_bool = xret;
    }
    void x_16(Smoke::Stack x) {
        // void setMaximumCacheSize(const QSize&)
        this->QGraphicsSvgItem::setMaximumCacheSize(*(const QSize*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_17(Smoke::Stack x) {
        // QSize maximumCacheSize() const
        QSize xret = ((const x_QGraphicsSvgItem*)this)->QGraphicsSvgItem::maximumCacheSize();
        x[0].s_class = (void*)new QSize(xret);
    }
    void x_18(Smoke::Stack x) {
        // virtual QRectF boundingRect() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QGraphicsSvgItem*>(this))) {
            QRectF xret = ((const x_QGraphicsSvgItem*)this)->QGraphicsSvgItem::boundingRect();
            x[0].s_class = (void*)new QRectF(xret);
        } else {
            QRectF xret = ((const x_QGraphicsSvgItem*)this)->boundingRect();
            x[0].s_class = (void*)new QRectF(xret);
        }
    }
    void x_19(Smoke::Stack x) {
        // virtual void paint(QPainter*, const QStyleOptionGraphicsItem*, QWidget*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QGraphicsSvgItem*>(this))) {
            this->QGraphicsSvgItem::paint((QPainter*)x[1].s_class,(const QStyleOptionGraphicsItem*)x[2].s_class,(QWidget*)x[3].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->paint((QPainter*)x[1].s_class,(const QStyleOptionGraphicsItem*)x[2].s_class,(QWidget*)x[3].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_20(Smoke::Stack x) {
        // virtual int type() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QGraphicsSvgItem*>(this))) {
            int xret = ((const x_QGraphicsSvgItem*)this)->QGraphicsSvgItem::type();
            x[0].s_int = xret;
        } else {
            int xret = ((const x_QGraphicsSvgItem*)this)->type();
            x[0].s_int = xret;
        }
    }
    static void x_21(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QGraphicsSvgItem::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_22(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QGraphicsSvgItem::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_23(Smoke::Stack x) {
        // QGraphicsSvgItem* QGraphicsSvgItem()
        x_QGraphicsSvgItem* xret = new x_QGraphicsSvgItem((QGraphicsItem*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_24(Smoke::Stack x) {
        // QGraphicsSvgItem* QGraphicsSvgItem(const QString&)
        x_QGraphicsSvgItem* xret = new x_QGraphicsSvgItem(*(const QString*)x[1].s_class,(QGraphicsItem*)0);
        x[0].s_class = (void*)xret;
    }
    void x_25(Smoke::Stack x) {
        // void paint(QPainter*, const QStyleOptionGraphicsItem*)
        this->QGraphicsSvgItem::paint((QPainter*)x[1].s_class,(const QStyleOptionGraphicsItem*)x[2].s_class,(QWidget*)0);
        (void)x; // noop (for compiler warning)
    }
    static void x_26(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QGraphicsSvgItem::staticMetaObject;
    }
    static void x_27(Smoke::Stack x) {
        x[0].s_enum = (long)QGraphicsSvgItem::Type;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(70, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QGraphicsSvgItem::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(71, (void*)this, x)) return (void*)x[0].s_class;
        return this->QGraphicsSvgItem::qt_metacast(x1);
    }
    virtual int qt_metacall(QMetaObject::Call x1, int x2, void** x3) {
        Smoke::StackItem x[4];
        x[1].s_enum = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)x3;
        if (this->_binding->callMethod(76, (void*)this, x)) return (int)x[0].s_int;
        return this->QGraphicsSvgItem::qt_metacall(x1, x2, x3);
    }
    virtual QRectF boundingRect() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(87, (void*)this, x)) {
            QRectF* xptr = (QRectF*)x[0].s_class;
            QRectF xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QGraphicsSvgItem::boundingRect();
    }
    virtual void paint(QPainter* x1, const QStyleOptionGraphicsItem* x2, QWidget* x3) {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)x2;
        x[3].s_class = (void*)x3;
        if (this->_binding->callMethod(88, (void*)this, x)) return;
        this->QGraphicsSvgItem::paint(x1, x2, x3);
    }
    virtual int type() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(89, (void*)this, x)) return (int)x[0].s_int;
        return this->QGraphicsSvgItem::type();
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(98, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QObject::event(x1);
    }
    virtual bool eventFilter(QObject* x1, QEvent* x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(99, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QObject::eventFilter(x1, x2);
    }
    virtual void timerEvent(QTimerEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(100, (void*)this, x)) return;
        this->QObject::timerEvent(x1);
    }
    virtual void childEvent(QChildEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(101, (void*)this, x)) return;
        this->QObject::childEvent(x1);
    }
    virtual void customEvent(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(102, (void*)this, x)) return;
        this->QObject::customEvent(x1);
    }
    virtual void connectNotify(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(103, (void*)this, x)) return;
        this->QObject::connectNotify(x1);
    }
    virtual void disconnectNotify(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(104, (void*)this, x)) return;
        this->QObject::disconnectNotify(x1);
    }
    virtual void advance(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1, (void*)this, x)) return;
        this->QGraphicsItem::advance(x1);
    }
    virtual QPainterPath shape() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2, (void*)this, x)) {
            QPainterPath* xptr = (QPainterPath*)x[0].s_class;
            QPainterPath xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QGraphicsItem::shape();
    }
    virtual bool contains(const QPointF& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(3, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QGraphicsItem::contains(x1);
    }
    virtual bool collidesWithItem(const QGraphicsItem* x1, Qt::ItemSelectionMode x2) const {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_enum = x2;
        if (this->_binding->callMethod(4, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QGraphicsItem::collidesWithItem(x1, x2);
    }
    virtual bool collidesWithPath(const QPainterPath& x1, Qt::ItemSelectionMode x2) const {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_enum = x2;
        if (this->_binding->callMethod(5, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QGraphicsItem::collidesWithPath(x1, x2);
    }
    virtual bool isObscuredBy(const QGraphicsItem* x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(6, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QGraphicsItem::isObscuredBy(x1);
    }
    virtual QPainterPath opaqueArea() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(7, (void*)this, x)) {
            QPainterPath* xptr = (QPainterPath*)x[0].s_class;
            QPainterPath xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QGraphicsItem::opaqueArea();
    }
    virtual bool sceneEventFilter(QGraphicsItem* x1, QEvent* x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(8, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QGraphicsItem::sceneEventFilter(x1, x2);
    }
    virtual bool sceneEvent(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(9, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QGraphicsItem::sceneEvent(x1);
    }
    virtual void contextMenuEvent(QGraphicsSceneContextMenuEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(10, (void*)this, x)) return;
        this->QGraphicsItem::contextMenuEvent(x1);
    }
    virtual void dragEnterEvent(QGraphicsSceneDragDropEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(11, (void*)this, x)) return;
        this->QGraphicsItem::dragEnterEvent(x1);
    }
    virtual void dragLeaveEvent(QGraphicsSceneDragDropEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(12, (void*)this, x)) return;
        this->QGraphicsItem::dragLeaveEvent(x1);
    }
    virtual void dragMoveEvent(QGraphicsSceneDragDropEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(13, (void*)this, x)) return;
        this->QGraphicsItem::dragMoveEvent(x1);
    }
    virtual void dropEvent(QGraphicsSceneDragDropEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(14, (void*)this, x)) return;
        this->QGraphicsItem::dropEvent(x1);
    }
    virtual void focusInEvent(QFocusEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(15, (void*)this, x)) return;
        this->QGraphicsItem::focusInEvent(x1);
    }
    virtual void focusOutEvent(QFocusEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(16, (void*)this, x)) return;
        this->QGraphicsItem::focusOutEvent(x1);
    }
    virtual void hoverEnterEvent(QGraphicsSceneHoverEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(17, (void*)this, x)) return;
        this->QGraphicsItem::hoverEnterEvent(x1);
    }
    virtual void hoverMoveEvent(QGraphicsSceneHoverEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(18, (void*)this, x)) return;
        this->QGraphicsItem::hoverMoveEvent(x1);
    }
    virtual void hoverLeaveEvent(QGraphicsSceneHoverEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(19, (void*)this, x)) return;
        this->QGraphicsItem::hoverLeaveEvent(x1);
    }
    virtual void keyPressEvent(QKeyEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(20, (void*)this, x)) return;
        this->QGraphicsItem::keyPressEvent(x1);
    }
    virtual void keyReleaseEvent(QKeyEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(21, (void*)this, x)) return;
        this->QGraphicsItem::keyReleaseEvent(x1);
    }
    virtual void mousePressEvent(QGraphicsSceneMouseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(22, (void*)this, x)) return;
        this->QGraphicsItem::mousePressEvent(x1);
    }
    virtual void mouseMoveEvent(QGraphicsSceneMouseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(23, (void*)this, x)) return;
        this->QGraphicsItem::mouseMoveEvent(x1);
    }
    virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(24, (void*)this, x)) return;
        this->QGraphicsItem::mouseReleaseEvent(x1);
    }
    virtual void mouseDoubleClickEvent(QGraphicsSceneMouseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(25, (void*)this, x)) return;
        this->QGraphicsItem::mouseDoubleClickEvent(x1);
    }
    virtual void wheelEvent(QGraphicsSceneWheelEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(26, (void*)this, x)) return;
        this->QGraphicsItem::wheelEvent(x1);
    }
    virtual void inputMethodEvent(QInputMethodEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(27, (void*)this, x)) return;
        this->QGraphicsItem::inputMethodEvent(x1);
    }
    virtual QVariant inputMethodQuery(Qt::InputMethodQuery x1) const {
        Smoke::StackItem x[2];
        x[1].s_enum = x1;
        if (this->_binding->callMethod(28, (void*)this, x)) {
            QVariant* xptr = (QVariant*)x[0].s_class;
            QVariant xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QGraphicsItem::inputMethodQuery(x1);
    }
    virtual QVariant itemChange(QGraphicsItem::GraphicsItemChange x1, const QVariant& x2) {
        Smoke::StackItem x[3];
        x[1].s_enum = x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(29, (void*)this, x)) {
            QVariant* xptr = (QVariant*)x[0].s_class;
            QVariant xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QGraphicsItem::itemChange(x1, x2);
    }
    virtual bool supportsExtension(QGraphicsItem::Extension x1) const {
        Smoke::StackItem x[2];
        x[1].s_enum = x1;
        if (this->_binding->callMethod(30, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QGraphicsItem::supportsExtension(x1);
    }
    virtual void setExtension(QGraphicsItem::Extension x1, const QVariant& x2) {
        Smoke::StackItem x[3];
        x[1].s_enum = x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(31, (void*)this, x)) return;
        this->QGraphicsItem::setExtension(x1, x2);
    }
    virtual QVariant extension(const QVariant& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(32, (void*)this, x)) {
            QVariant* xptr = (QVariant*)x[0].s_class;
            QVariant xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QGraphicsItem::extension(x1);
    }
    ~x_QGraphicsSvgItem() { this->_binding->deleted(22, (void*)this); }
};
void xcall_QGraphicsSvgItem(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QGraphicsSvgItem *xself = (x_QGraphicsSvgItem*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: xself->x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: x_QGraphicsSvgItem::x_3(args);	break;
        case 4: x_QGraphicsSvgItem::x_4(args);	break;
        case 5: x_QGraphicsSvgItem::x_5(args);	break;
        case 6: x_QGraphicsSvgItem::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QGraphicsSvgItem::x_8(args);	break;
        case 9: x_QGraphicsSvgItem::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: x_QGraphicsSvgItem::x_21(args);	break;
        case 22: x_QGraphicsSvgItem::x_22(args);	break;
        case 23: x_QGraphicsSvgItem::x_23(args);	break;
        case 24: x_QGraphicsSvgItem::x_24(args);	break;
        case 25: xself->x_25(args);	break;
        case 26: x_QGraphicsSvgItem::x_26(args);	break;
        case 27: x_QGraphicsSvgItem::x_27(args);	break;
        case 28: delete (QGraphicsSvgItem*)xself;	break;
    }
}
class x_QSvgGenerator : public QSvgGenerator, public __internal_SmokeClass {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    static void x_1(Smoke::Stack x) {
        // QSvgGenerator* QSvgGenerator()
        x_QSvgGenerator* xret = new x_QSvgGenerator();
        x[0].s_class = (void*)xret;
    }
    explicit x_QSvgGenerator() : QSvgGenerator() {}
    void x_2(Smoke::Stack x) {
        // QString title() const
        QString xret = ((const x_QSvgGenerator*)this)->QSvgGenerator::title();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_3(Smoke::Stack x) {
        // void setTitle(const QString&)
        this->QSvgGenerator::setTitle(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_4(Smoke::Stack x) {
        // QString description() const
        QString xret = ((const x_QSvgGenerator*)this)->QSvgGenerator::description();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_5(Smoke::Stack x) {
        // void setDescription(const QString&)
        this->QSvgGenerator::setDescription(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_6(Smoke::Stack x) {
        // QSize size() const
        QSize xret = ((const x_QSvgGenerator*)this)->QSvgGenerator::size();
        x[0].s_class = (void*)new QSize(xret);
    }
    void x_7(Smoke::Stack x) {
        // void setSize(const QSize&)
        this->QSvgGenerator::setSize(*(const QSize*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_8(Smoke::Stack x) {
        // QRect viewBox() const
        QRect xret = ((const x_QSvgGenerator*)this)->QSvgGenerator::viewBox();
        x[0].s_class = (void*)new QRect(xret);
    }
    void x_9(Smoke::Stack x) {
        // QRectF viewBoxF() const
        QRectF xret = ((const x_QSvgGenerator*)this)->QSvgGenerator::viewBoxF();
        x[0].s_class = (void*)new QRectF(xret);
    }
    void x_10(Smoke::Stack x) {
        // void setViewBox(const QRect&)
        this->QSvgGenerator::setViewBox(*(const QRect*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_11(Smoke::Stack x) {
        // void setViewBox(const QRectF&)
        this->QSvgGenerator::setViewBox(*(const QRectF*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_12(Smoke::Stack x) {
        // QString fileName() const
        QString xret = ((const x_QSvgGenerator*)this)->QSvgGenerator::fileName();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_13(Smoke::Stack x) {
        // void setFileName(const QString&)
        this->QSvgGenerator::setFileName(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_14(Smoke::Stack x) {
        // QIODevice* outputDevice() const
        QIODevice* xret = ((const x_QSvgGenerator*)this)->QSvgGenerator::outputDevice();
        x[0].s_class = (void*)xret;
    }
    void x_15(Smoke::Stack x) {
        // void setOutputDevice(QIODevice*)
        this->QSvgGenerator::setOutputDevice((QIODevice*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_16(Smoke::Stack x) {
        // void setResolution(int)
        this->QSvgGenerator::setResolution((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_17(Smoke::Stack x) {
        // int resolution() const
        int xret = ((const x_QSvgGenerator*)this)->QSvgGenerator::resolution();
        x[0].s_int = xret;
    }
    void x_18(Smoke::Stack x) {
        // QPaintEngine* paintEngine() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSvgGenerator*>(this))) {
            QPaintEngine* xret = ((const x_QSvgGenerator*)this)->QSvgGenerator::paintEngine();
            x[0].s_class = (void*)xret;
        } else {
            QPaintEngine* xret = ((const x_QSvgGenerator*)this)->paintEngine();
            x[0].s_class = (void*)xret;
        }
    }
    void x_19(Smoke::Stack x) {
        // int metric(QPaintDevice::PaintDeviceMetric) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSvgGenerator*>(this))) {
            int xret = ((const x_QSvgGenerator*)this)->QSvgGenerator::metric((QPaintDevice::PaintDeviceMetric)x[1].s_enum);
            x[0].s_int = xret;
        } else {
            int xret = ((const x_QSvgGenerator*)this)->metric((QPaintDevice::PaintDeviceMetric)x[1].s_enum);
            x[0].s_int = xret;
        }
    }
    virtual int devType() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(105, (void*)this, x)) return (int)x[0].s_int;
        return this->QPaintDevice::devType();
    }
    virtual QPaintEngine* paintEngine() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(133, (void*)this, x)) return (QPaintEngine*)x[0].s_class;
        return this->QSvgGenerator::paintEngine();
    }
    virtual int metric(QPaintDevice::PaintDeviceMetric x1) const {
        Smoke::StackItem x[2];
        x[1].s_enum = x1;
        if (this->_binding->callMethod(134, (void*)this, x)) return (int)x[0].s_int;
        return this->QSvgGenerator::metric(x1);
    }
    ~x_QSvgGenerator() { this->_binding->deleted(47, (void*)this); }
};
void xcall_QSvgGenerator(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QSvgGenerator *xself = (x_QSvgGenerator*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QSvgGenerator::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: 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: delete (QSvgGenerator*)xself;	break;
    }
}
class x_QSvgRenderer : public QSvgRenderer, public __internal_SmokeClass {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    void x_1(Smoke::Stack x) {
        // virtual const QMetaObject* metaObject() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSvgRenderer*>(this))) {
            const QMetaObject* xret = ((const x_QSvgRenderer*)this)->QSvgRenderer::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QSvgRenderer*)this)->metaObject();
            x[0].s_class = (void*)xret;
        }
    }
    void x_2(Smoke::Stack x) {
        // virtual void* qt_metacast(const char*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSvgRenderer*>(this))) {
            void* xret = this->QSvgRenderer::qt_metacast((const char*)x[1].s_class);
            x[0].s_class = (void*)xret;
        } else {
            void* xret = this->qt_metacast((const char*)x[1].s_class);
            x[0].s_class = (void*)xret;
        }
    }
    static void x_3(Smoke::Stack x) {
        // static QString tr(const char*, const char*)
        QString xret = QSvgRenderer::tr((const char*)x[1].s_class,(const char*)x[2].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_4(Smoke::Stack x) {
        // static QString trUtf8(const char*, const char*)
        QString xret = QSvgRenderer::trUtf8((const char*)x[1].s_class,(const char*)x[2].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_5(Smoke::Stack x) {
        // static QString tr(const char*, const char*, int)
        QString xret = QSvgRenderer::tr((const char*)x[1].s_class,(const char*)x[2].s_class,(int)x[3].s_int);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_6(Smoke::Stack x) {
        // static QString trUtf8(const char*, const char*, int)
        QString xret = QSvgRenderer::trUtf8((const char*)x[1].s_class,(const char*)x[2].s_class,(int)x[3].s_int);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_7(Smoke::Stack x) {
        // virtual int qt_metacall(QMetaObject::Call, int, void**)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSvgRenderer*>(this))) {
            int xret = this->QSvgRenderer::qt_metacall((QMetaObject::Call)x[1].s_enum,(int)x[2].s_int,(void**)x[3].s_class);
            x[0].s_int = xret;
        } else {
            int xret = this->qt_metacall((QMetaObject::Call)x[1].s_enum,(int)x[2].s_int,(void**)x[3].s_class);
            x[0].s_int = xret;
        }
    }
    static void x_8(Smoke::Stack x) {
        // QSvgRenderer* QSvgRenderer(QObject*)
        x_QSvgRenderer* xret = new x_QSvgRenderer((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QSvgRenderer(QObject* x1) : QSvgRenderer(x1) {}
    static void x_9(Smoke::Stack x) {
        // QSvgRenderer* QSvgRenderer(const QString&, QObject*)
        x_QSvgRenderer* xret = new x_QSvgRenderer(*(const QString*)x[1].s_class,(QObject*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QSvgRenderer(const QString& x1, QObject* x2) : QSvgRenderer(x1, x2) {}
    static void x_10(Smoke::Stack x) {
        // QSvgRenderer* QSvgRenderer(const QByteArray&, QObject*)
        x_QSvgRenderer* xret = new x_QSvgRenderer(*(const QByteArray*)x[1].s_class,(QObject*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QSvgRenderer(const QByteArray& x1, QObject* x2) : QSvgRenderer(x1, x2) {}
    static void x_11(Smoke::Stack x) {
        // QSvgRenderer* QSvgRenderer(QXmlStreamReader*, QObject*)
        x_QSvgRenderer* xret = new x_QSvgRenderer((QXmlStreamReader*)x[1].s_class,(QObject*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QSvgRenderer(QXmlStreamReader* x1, QObject* x2) : QSvgRenderer(x1, x2) {}
    void x_12(Smoke::Stack x) {
        // bool isValid() const
        bool xret = ((const x_QSvgRenderer*)this)->QSvgRenderer::isValid();
        x[0].s_bool = xret;
    }
    void x_13(Smoke::Stack x) {
        // QSize defaultSize() const
        QSize xret = ((const x_QSvgRenderer*)this)->QSvgRenderer::defaultSize();
        x[0].s_class = (void*)new QSize(xret);
    }
    void x_14(Smoke::Stack x) {
        // QRect viewBox() const
        QRect xret = ((const x_QSvgRenderer*)this)->QSvgRenderer::viewBox();
        x[0].s_class = (void*)new QRect(xret);
    }
    void x_15(Smoke::Stack x) {
        // QRectF viewBoxF() const
        QRectF xret = ((const x_QSvgRenderer*)this)->QSvgRenderer::viewBoxF();
        x[0].s_class = (void*)new QRectF(xret);
    }
    void x_16(Smoke::Stack x) {
        // void setViewBox(const QRect&)
        this->QSvgRenderer::setViewBox(*(const QRect*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_17(Smoke::Stack x) {
        // void setViewBox(const QRectF&)
        this->QSvgRenderer::setViewBox(*(const QRectF*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_18(Smoke::Stack x) {
        // bool animated() const
        bool xret = ((const x_QSvgRenderer*)this)->QSvgRenderer::animated();
        x[0].s_bool = xret;
    }
    void x_19(Smoke::Stack x) {
        // int framesPerSecond() const
        int xret = ((const x_QSvgRenderer*)this)->QSvgRenderer::framesPerSecond();
        x[0].s_int = xret;
    }
    void x_20(Smoke::Stack x) {
        // void setFramesPerSecond(int)
        this->QSvgRenderer::setFramesPerSecond((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_21(Smoke::Stack x) {
        // int currentFrame() const
        int xret = ((const x_QSvgRenderer*)this)->QSvgRenderer::currentFrame();
        x[0].s_int = xret;
    }
    void x_22(Smoke::Stack x) {
        // void setCurrentFrame(int)
        this->QSvgRenderer::setCurrentFrame((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_23(Smoke::Stack x) {
        // int animationDuration() const
        int xret = ((const x_QSvgRenderer*)this)->QSvgRenderer::animationDuration();
        x[0].s_int = xret;
    }
    void x_24(Smoke::Stack x) {
        // QRectF boundsOnElement(const QString&) const
        QRectF xret = ((const x_QSvgRenderer*)this)->QSvgRenderer::boundsOnElement(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)new QRectF(xret);
    }
    void x_25(Smoke::Stack x) {
        // bool elementExists(const QString&) const
        bool xret = ((const x_QSvgRenderer*)this)->QSvgRenderer::elementExists(*(const QString*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_26(Smoke::Stack x) {
        // QMatrix matrixForElement(const QString&) const
        QMatrix xret = ((const x_QSvgRenderer*)this)->QSvgRenderer::matrixForElement(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)new QMatrix(xret);
    }
    void x_27(Smoke::Stack x) {
        // bool load(const QString&)
        bool xret = this->QSvgRenderer::load(*(const QString*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_28(Smoke::Stack x) {
        // bool load(const QByteArray&)
        bool xret = this->QSvgRenderer::load(*(const QByteArray*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_29(Smoke::Stack x) {
        // bool load(QXmlStreamReader*)
        bool xret = this->QSvgRenderer::load((QXmlStreamReader*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_30(Smoke::Stack x) {
        // void render(QPainter*)
        this->QSvgRenderer::render((QPainter*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_31(Smoke::Stack x) {
        // void render(QPainter*, const QRectF&)
        this->QSvgRenderer::render((QPainter*)x[1].s_class,*(const QRectF*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_32(Smoke::Stack x) {
        // void render(QPainter*, const QString&, const QRectF&)
        this->QSvgRenderer::render((QPainter*)x[1].s_class,*(const QString*)x[2].s_class,*(const QRectF*)x[3].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_33(Smoke::Stack x) {
        // void repaintNeeded()
        this->QSvgRenderer::repaintNeeded();
        (void)x; // noop (for compiler warning)
    }
    static void x_34(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QSvgRenderer::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_35(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QSvgRenderer::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_36(Smoke::Stack x) {
        // QSvgRenderer* QSvgRenderer()
        x_QSvgRenderer* xret = new x_QSvgRenderer((QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_37(Smoke::Stack x) {
        // QSvgRenderer* QSvgRenderer(const QString&)
        x_QSvgRenderer* xret = new x_QSvgRenderer(*(const QString*)x[1].s_class,(QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_38(Smoke::Stack x) {
        // QSvgRenderer* QSvgRenderer(const QByteArray&)
        x_QSvgRenderer* xret = new x_QSvgRenderer(*(const QByteArray*)x[1].s_class,(QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_39(Smoke::Stack x) {
        // QSvgRenderer* QSvgRenderer(QXmlStreamReader*)
        x_QSvgRenderer* xret = new x_QSvgRenderer((QXmlStreamReader*)x[1].s_class,(QObject*)0);
        x[0].s_class = (void*)xret;
    }
    void x_40(Smoke::Stack x) {
        // void render(QPainter*, const QString&)
        this->QSvgRenderer::render((QPainter*)x[1].s_class,*(const QString*)x[2].s_class,(const QRectF&)QRectF());
        (void)x; // noop (for compiler warning)
    }
    static void x_41(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QSvgRenderer::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(136, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QSvgRenderer::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(137, (void*)this, x)) return (void*)x[0].s_class;
        return this->QSvgRenderer::qt_metacast(x1);
    }
    virtual int qt_metacall(QMetaObject::Call x1, int x2, void** x3) {
        Smoke::StackItem x[4];
        x[1].s_enum = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)x3;
        if (this->_binding->callMethod(142, (void*)this, x)) return (int)x[0].s_int;
        return this->QSvgRenderer::qt_metacall(x1, x2, x3);
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(98, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QObject::event(x1);
    }
    virtual bool eventFilter(QObject* x1, QEvent* x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(99, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QObject::eventFilter(x1, x2);
    }
    virtual void timerEvent(QTimerEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(100, (void*)this, x)) return;
        this->QObject::timerEvent(x1);
    }
    virtual void childEvent(QChildEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(101, (void*)this, x)) return;
        this->QObject::childEvent(x1);
    }
    virtual void customEvent(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(102, (void*)this, x)) return;
        this->QObject::customEvent(x1);
    }
    virtual void connectNotify(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(103, (void*)this, x)) return;
        this->QObject::connectNotify(x1);
    }
    virtual void disconnectNotify(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(104, (void*)this, x)) return;
        this->QObject::disconnectNotify(x1);
    }
    ~x_QSvgRenderer() { this->_binding->deleted(48, (void*)this); }
};
void xcall_QSvgRenderer(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QSvgRenderer *xself = (x_QSvgRenderer*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: xself->x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: x_QSvgRenderer::x_3(args);	break;
        case 4: x_QSvgRenderer::x_4(args);	break;
        case 5: x_QSvgRenderer::x_5(args);	break;
        case 6: x_QSvgRenderer::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QSvgRenderer::x_8(args);	break;
        case 9: x_QSvgRenderer::x_9(args);	break;
        case 10: x_QSvgRenderer::x_10(args);	break;
        case 11: x_QSvgRenderer::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: x_QSvgRenderer::x_34(args);	break;
        case 35: x_QSvgRenderer::x_35(args);	break;
        case 36: x_QSvgRenderer::x_36(args);	break;
        case 37: x_QSvgRenderer::x_37(args);	break;
        case 38: x_QSvgRenderer::x_38(args);	break;
        case 39: x_QSvgRenderer::x_39(args);	break;
        case 40: xself->x_40(args);	break;
        case 41: x_QSvgRenderer::x_41(args);	break;
        case 42: delete (QSvgRenderer*)xself;	break;
    }
}
class x_QSvgWidget : public QSvgWidget, public __internal_SmokeClass {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    void x_1(Smoke::Stack x) {
        // virtual const QMetaObject* metaObject() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSvgWidget*>(this))) {
            const QMetaObject* xret = ((const x_QSvgWidget*)this)->QSvgWidget::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QSvgWidget*)this)->metaObject();
            x[0].s_class = (void*)xret;
        }
    }
    void x_2(Smoke::Stack x) {
        // virtual void* qt_metacast(const char*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSvgWidget*>(this))) {
            void* xret = this->QSvgWidget::qt_metacast((const char*)x[1].s_class);
            x[0].s_class = (void*)xret;
        } else {
            void* xret = this->qt_metacast((const char*)x[1].s_class);
            x[0].s_class = (void*)xret;
        }
    }
    static void x_3(Smoke::Stack x) {
        // static QString tr(const char*, const char*)
        QString xret = QSvgWidget::tr((const char*)x[1].s_class,(const char*)x[2].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_4(Smoke::Stack x) {
        // static QString trUtf8(const char*, const char*)
        QString xret = QSvgWidget::trUtf8((const char*)x[1].s_class,(const char*)x[2].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_5(Smoke::Stack x) {
        // static QString tr(const char*, const char*, int)
        QString xret = QSvgWidget::tr((const char*)x[1].s_class,(const char*)x[2].s_class,(int)x[3].s_int);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_6(Smoke::Stack x) {
        // static QString trUtf8(const char*, const char*, int)
        QString xret = QSvgWidget::trUtf8((const char*)x[1].s_class,(const char*)x[2].s_class,(int)x[3].s_int);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_7(Smoke::Stack x) {
        // virtual int qt_metacall(QMetaObject::Call, int, void**)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSvgWidget*>(this))) {
            int xret = this->QSvgWidget::qt_metacall((QMetaObject::Call)x[1].s_enum,(int)x[2].s_int,(void**)x[3].s_class);
            x[0].s_int = xret;
        } else {
            int xret = this->qt_metacall((QMetaObject::Call)x[1].s_enum,(int)x[2].s_int,(void**)x[3].s_class);
            x[0].s_int = xret;
        }
    }
    static void x_8(Smoke::Stack x) {
        // QSvgWidget* QSvgWidget(QWidget*)
        x_QSvgWidget* xret = new x_QSvgWidget((QWidget*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QSvgWidget(QWidget* x1) : QSvgWidget(x1) {}
    static void x_9(Smoke::Stack x) {
        // QSvgWidget* QSvgWidget(const QString&, QWidget*)
        x_QSvgWidget* xret = new x_QSvgWidget(*(const QString*)x[1].s_class,(QWidget*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QSvgWidget(const QString& x1, QWidget* x2) : QSvgWidget(x1, x2) {}
    void x_10(Smoke::Stack x) {
        // QSvgRenderer* renderer() const
        QSvgRenderer* xret = ((const x_QSvgWidget*)this)->QSvgWidget::renderer();
        x[0].s_class = (void*)xret;
    }
    void x_11(Smoke::Stack x) {
        // QSize sizeHint() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSvgWidget*>(this))) {
            QSize xret = ((const x_QSvgWidget*)this)->QSvgWidget::sizeHint();
            x[0].s_class = (void*)new QSize(xret);
        } else {
            QSize xret = ((const x_QSvgWidget*)this)->sizeHint();
            x[0].s_class = (void*)new QSize(xret);
        }
    }
    void x_12(Smoke::Stack x) {
        // void load(const QString&)
        this->QSvgWidget::load(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_13(Smoke::Stack x) {
        // void load(const QByteArray&)
        this->QSvgWidget::load(*(const QByteArray*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_14(Smoke::Stack x) {
        // void paintEvent(QPaintEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSvgWidget*>(this))) {
            this->QSvgWidget::paintEvent((QPaintEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->paintEvent((QPaintEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    static void x_15(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QSvgWidget::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_16(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QSvgWidget::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_17(Smoke::Stack x) {
        // QSvgWidget* QSvgWidget()
        x_QSvgWidget* xret = new x_QSvgWidget((QWidget*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_18(Smoke::Stack x) {
        // QSvgWidget* QSvgWidget(const QString&)
        x_QSvgWidget* xret = new x_QSvgWidget(*(const QString*)x[1].s_class,(QWidget*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_19(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QSvgWidget::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(178, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QSvgWidget::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(179, (void*)this, x)) return (void*)x[0].s_class;
        return this->QSvgWidget::qt_metacast(x1);
    }
    virtual int qt_metacall(QMetaObject::Call x1, int x2, void** x3) {
        Smoke::StackItem x[4];
        x[1].s_enum = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)x3;
        if (this->_binding->callMethod(184, (void*)this, x)) return (int)x[0].s_int;
        return this->QSvgWidget::qt_metacall(x1, x2, x3);
    }
    virtual void setVisible(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(199, (void*)this, x)) return;
        this->QWidget::setVisible(x1);
    }
    virtual QSize sizeHint() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(188, (void*)this, x)) {
            QSize* xptr = (QSize*)x[0].s_class;
            QSize xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QSvgWidget::sizeHint();
    }
    virtual QSize minimumSizeHint() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(200, (void*)this, x)) {
            QSize* xptr = (QSize*)x[0].s_class;
            QSize xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QWidget::minimumSizeHint();
    }
    virtual int heightForWidth(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(201, (void*)this, x)) return (int)x[0].s_int;
        return this->QWidget::heightForWidth(x1);
    }
    virtual void mousePressEvent(QMouseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(204, (void*)this, x)) return;
        this->QWidget::mousePressEvent(x1);
    }
    virtual void mouseReleaseEvent(QMouseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(205, (void*)this, x)) return;
        this->QWidget::mouseReleaseEvent(x1);
    }
    virtual void mouseDoubleClickEvent(QMouseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(206, (void*)this, x)) return;
        this->QWidget::mouseDoubleClickEvent(x1);
    }
    virtual void mouseMoveEvent(QMouseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(207, (void*)this, x)) return;
        this->QWidget::mouseMoveEvent(x1);
    }
    virtual void wheelEvent(QWheelEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(208, (void*)this, x)) return;
        this->QWidget::wheelEvent(x1);
    }
    virtual void keyPressEvent(QKeyEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(209, (void*)this, x)) return;
        this->QWidget::keyPressEvent(x1);
    }
    virtual void keyReleaseEvent(QKeyEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(210, (void*)this, x)) return;
        this->QWidget::keyReleaseEvent(x1);
    }
    virtual void focusInEvent(QFocusEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(211, (void*)this, x)) return;
        this->QWidget::focusInEvent(x1);
    }
    virtual void focusOutEvent(QFocusEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(212, (void*)this, x)) return;
        this->QWidget::focusOutEvent(x1);
    }
    virtual void enterEvent(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(213, (void*)this, x)) return;
        this->QWidget::enterEvent(x1);
    }
    virtual void leaveEvent(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(214, (void*)this, x)) return;
        this->QWidget::leaveEvent(x1);
    }
    virtual void paintEvent(QPaintEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(191, (void*)this, x)) return;
        this->QSvgWidget::paintEvent(x1);
    }
    virtual void moveEvent(QMoveEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(215, (void*)this, x)) return;
        this->QWidget::moveEvent(x1);
    }
    virtual void resizeEvent(QResizeEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(216, (void*)this, x)) return;
        this->QWidget::resizeEvent(x1);
    }
    virtual void closeEvent(QCloseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(217, (void*)this, x)) return;
        this->QWidget::closeEvent(x1);
    }
    virtual void contextMenuEvent(QContextMenuEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(218, (void*)this, x)) return;
        this->QWidget::contextMenuEvent(x1);
    }
    virtual void tabletEvent(QTabletEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(219, (void*)this, x)) return;
        this->QWidget::tabletEvent(x1);
    }
    virtual void actionEvent(QActionEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(220, (void*)this, x)) return;
        this->QWidget::actionEvent(x1);
    }
    virtual void dragEnterEvent(QDragEnterEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(221, (void*)this, x)) return;
        this->QWidget::dragEnterEvent(x1);
    }
    virtual void dragMoveEvent(QDragMoveEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(222, (void*)this, x)) return;
        this->QWidget::dragMoveEvent(x1);
    }
    virtual void dragLeaveEvent(QDragLeaveEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(223, (void*)this, x)) return;
        this->QWidget::dragLeaveEvent(x1);
    }
    virtual void dropEvent(QDropEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(224, (void*)this, x)) return;
        this->QWidget::dropEvent(x1);
    }
    virtual void showEvent(QShowEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(225, (void*)this, x)) return;
        this->QWidget::showEvent(x1);
    }
    virtual void hideEvent(QHideEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(226, (void*)this, x)) return;
        this->QWidget::hideEvent(x1);
    }
    virtual bool x11Event(_XEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(227, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QWidget::x11Event(x1);
    }
    virtual void changeEvent(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(228, (void*)this, x)) return;
        this->QWidget::changeEvent(x1);
    }
    virtual void inputMethodEvent(QInputMethodEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(230, (void*)this, x)) return;
        this->QWidget::inputMethodEvent(x1);
    }
    virtual QVariant inputMethodQuery(Qt::InputMethodQuery x1) const {
        Smoke::StackItem x[2];
        x[1].s_enum = x1;
        if (this->_binding->callMethod(231, (void*)this, x)) {
            QVariant* xptr = (QVariant*)x[0].s_class;
            QVariant xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QWidget::inputMethodQuery(x1);
    }
    virtual bool focusNextPrevChild(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(232, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QWidget::focusNextPrevChild(x1);
    }
    virtual void styleChange(QStyle& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(233, (void*)this, x)) return;
        this->QWidget::styleChange(x1);
    }
    virtual void enabledChange(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(234, (void*)this, x)) return;
        this->QWidget::enabledChange(x1);
    }
    virtual void paletteChange(const QPalette& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(235, (void*)this, x)) return;
        this->QWidget::paletteChange(x1);
    }
    virtual void fontChange(const QFont& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(236, (void*)this, x)) return;
        this->QWidget::fontChange(x1);
    }
    virtual void windowActivationChange(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(237, (void*)this, x)) return;
        this->QWidget::windowActivationChange(x1);
    }
    virtual void languageChange() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(238, (void*)this, x)) return;
        this->QWidget::languageChange();
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(203, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QWidget::event(x1);
    }
    virtual bool eventFilter(QObject* x1, QEvent* x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(99, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QObject::eventFilter(x1, x2);
    }
    virtual void timerEvent(QTimerEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(100, (void*)this, x)) return;
        this->QObject::timerEvent(x1);
    }
    virtual void childEvent(QChildEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(101, (void*)this, x)) return;
        this->QObject::childEvent(x1);
    }
    virtual void customEvent(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(102, (void*)this, x)) return;
        this->QObject::customEvent(x1);
    }
    virtual void connectNotify(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(103, (void*)this, x)) return;
        this->QObject::connectNotify(x1);
    }
    virtual void disconnectNotify(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(104, (void*)this, x)) return;
        this->QObject::disconnectNotify(x1);
    }
    virtual int devType() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(198, (void*)this, x)) return (int)x[0].s_int;
        return this->QWidget::devType();
    }
    virtual QPaintEngine* paintEngine() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(202, (void*)this, x)) return (QPaintEngine*)x[0].s_class;
        return this->QWidget::paintEngine();
    }
    virtual int metric(QPaintDevice::PaintDeviceMetric x1) const {
        Smoke::StackItem x[2];
        x[1].s_enum = x1;
        if (this->_binding->callMethod(229, (void*)this, x)) return (int)x[0].s_int;
        return this->QWidget::metric(x1);
    }
    ~x_QSvgWidget() { this->_binding->deleted(49, (void*)this); }
};
void xcall_QSvgWidget(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QSvgWidget *xself = (x_QSvgWidget*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: xself->x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: x_QSvgWidget::x_3(args);	break;
        case 4: x_QSvgWidget::x_4(args);	break;
        case 5: x_QSvgWidget::x_5(args);	break;
        case 6: x_QSvgWidget::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QSvgWidget::x_8(args);	break;
        case 9: x_QSvgWidget::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: x_QSvgWidget::x_15(args);	break;
        case 16: x_QSvgWidget::x_16(args);	break;
        case 17: x_QSvgWidget::x_17(args);	break;
        case 18: x_QSvgWidget::x_18(args);	break;
        case 19: x_QSvgWidget::x_19(args);	break;
        case 20: delete (QSvgWidget*)xself;	break;
    }
}
class x_QGlobalSpace {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    ~x_QGlobalSpace() { this->_binding->deleted(14, (void*)this); }
};
void xcall_QGlobalSpace(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QGlobalSpace *xself = (x_QGlobalSpace*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
    }
}

}
