
// Auto generated

#ifndef QCOLOR_H_WRAPPER
#define QCOLOR_H_WRAPPER

// include header:
//#include "header_h.h"

#include "../RJSHelper.h"


#include "RJSWrapperObj.h"

#include <QColor>

#include <QColormap>

#include <QVariant>

#include <QQmlEngine>

#include "RJSType.h"

#include <QColor>

// singleton class wrapper for static functions:
class QTJSAPI_EXPORT QColor_WrapperSingleton: public QObject {
    Q_OBJECT
    QML_INTERFACE

    // constants:


    // static properties:


public:
    //Q_INVOKABLE
    QColor_WrapperSingleton(RJSApi& h)
        : QObject(),
          handler(h)

    {}



    // static functions:

#if QT_STRINGVIEW_LEVEL<2

#endif

#if QT_STRINGVIEW_LEVEL<2

#endif

    // Class: QColor
    // Function: colorNames
    // Source:
    // Static: true
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    colorNames
    (


    )

    ;

    // Class: QColor
    // Function: fromRgb
    // Source:
    // Static: true
    // Parameters: 4
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    fromRgb
    (


        const QJSValue&
        a1
        = QJSValue()
          ,
        const QJSValue&
        a2
        = QJSValue()
          ,
        const QJSValue&
        a3
        = QJSValue()
          ,
        const QJSValue&
        a4
        = QJSValue()

    )

    ;

    // Class: QColor
    // Function: fromRgbF
    // Source:
    // Static: true
    // Parameters: 4
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    fromRgbF
    (


        const QJSValue&
        a1
        = QJSValue()
          ,
        const QJSValue&
        a2
        = QJSValue()
          ,
        const QJSValue&
        a3
        = QJSValue()
          ,
        const QJSValue&
        a4
        = QJSValue()

    )

    ;

    // Class: QColor
    // Function: fromHsv
    // Source:
    // Static: true
    // Parameters: 4
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    fromHsv
    (


        const QJSValue&
        a1
        = QJSValue()
          ,
        const QJSValue&
        a2
        = QJSValue()
          ,
        const QJSValue&
        a3
        = QJSValue()
          ,
        const QJSValue&
        a4
        = QJSValue()

    )

    ;

    // Class: QColor
    // Function: fromHsvF
    // Source:
    // Static: true
    // Parameters: 4
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    fromHsvF
    (


        const QJSValue&
        a1
        = QJSValue()
          ,
        const QJSValue&
        a2
        = QJSValue()
          ,
        const QJSValue&
        a3
        = QJSValue()
          ,
        const QJSValue&
        a4
        = QJSValue()

    )

    ;

    // Class: QColor
    // Function: fromCmyk
    // Source:
    // Static: true
    // Parameters: 5
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    fromCmyk
    (


        const QJSValue&
        a1
        = QJSValue()
          ,
        const QJSValue&
        a2
        = QJSValue()
          ,
        const QJSValue&
        a3
        = QJSValue()
          ,
        const QJSValue&
        a4
        = QJSValue()
          ,
        const QJSValue&
        a5
        = QJSValue()

    )

    ;

    // Class: QColor
    // Function: fromCmykF
    // Source:
    // Static: true
    // Parameters: 5
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    fromCmykF
    (


        const QJSValue&
        a1
        = QJSValue()
          ,
        const QJSValue&
        a2
        = QJSValue()
          ,
        const QJSValue&
        a3
        = QJSValue()
          ,
        const QJSValue&
        a4
        = QJSValue()
          ,
        const QJSValue&
        a5
        = QJSValue()

    )

    ;

    // Class: QColor
    // Function: fromHsl
    // Source:
    // Static: true
    // Parameters: 4
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    fromHsl
    (


        const QJSValue&
        a1
        = QJSValue()
          ,
        const QJSValue&
        a2
        = QJSValue()
          ,
        const QJSValue&
        a3
        = QJSValue()
          ,
        const QJSValue&
        a4
        = QJSValue()

    )

    ;

    // Class: QColor
    // Function: fromHslF
    // Source:
    // Static: true
    // Parameters: 4
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    fromHslF
    (


        const QJSValue&
        a1
        = QJSValue()
          ,
        const QJSValue&
        a2
        = QJSValue()
          ,
        const QJSValue&
        a3
        = QJSValue()
          ,
        const QJSValue&
        a4
        = QJSValue()

    )

    ;

#if QT_STRINGVIEW_LEVEL<2

    // Class: QColor
    // Function: isValidColor
    // Source:
    // Static: true
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    isValidColor
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    ;

#endif


private:
    RJSApi& handler;
    //static QColor_WrapperSingleton* _singleInstance;

    // constants:

};

// static functions implementation in singleton wrapper:

// wrapper class for QColor
class QTJSAPI_EXPORT QColor_Wrapper : public RJSWrapperObj {


    Q_OBJECT
    QML_INTERFACE


private:
    // disable copy constructor:
    QColor_Wrapper(const QColor_Wrapper&);

public:
    // initialization of QColor:
    static void init(RJSApi& handler);


    static QColor* castToBase(void* vp, /*RJSType ID*/ int t) {

        // check if pointer points to derrived type:


        // hook for modules to cast from other types to base QColor:
        for (int i=0; i<basecasters_QColor.length(); i++) {
            RJSBasecaster_QColor* basecaster = basecasters_QColor[i];
            QColor* ret = basecaster->castToBase(t, vp);
            if (ret!=nullptr) {
                return ret;
            }
        }

        // object is a pointer to base class QColor:
        if (t==RJSType_QColor::getIdStatic()) {
            return (QColor*)vp;
        }

        qWarning() << "QColor_Wrapper::castToBase: type not found: " << RJSHelper::getTypeName(t);

        return nullptr;

    }

    static QColor* getWrappedBase(RJSWrapper* wrapper) {
        int t = wrapper->getWrappedType();
        void* vp = wrapper->getWrappedVoid();
        if (vp==nullptr) {
            //qWarning() << "getWrapped_QColor*: wrapper wraps NULL";
        }

        QColor* ret = castToBase(vp, t);
        if (ret==nullptr && vp!=nullptr) {
            qWarning() << "QColor*_Wrapper::getWrappedBase: extracted type " << t << "from wrapper is NULL";
        }
        return ret;
    }

    /*
    // special constructor used as prototype:

          Q_INVOKABLE
          QColor_Wrapper(QJSEngine* e);

    */


    // special constructor to wrap existing object:

    //Q_INVOKABLE
    QColor_Wrapper(RJSApi& h, QColor* o, bool wrappedCreated);


    // destructor:

    virtual ~QColor_Wrapper();

    // initialization of signal forwarding

    void initConnections();


    // constructors:

    // Class: QColor
    // Function:
    // Source:
    // Static: false
    // Parameters: 4
    // preceding Parameters: -1

public:
    Q_INVOKABLE
    QColor_Wrapper

    (


        // RJSApi:
        QObject* h

        ,

        const QJSValue&
        a1
        = QJSValue()
          ,
        const QJSValue&
        a2
        = QJSValue()
          ,
        const QJSValue&
        a3
        = QJSValue()
          ,
        const QJSValue&
        a4
        = QJSValue()

    )

    ;

#if QT_STRINGVIEW_LEVEL<2

#endif

#if QT_STRINGVIEW_LEVEL<2

#endif

#if QT_STRINGVIEW_LEVEL<2

#endif


    // non-static functions:

#if QT_STRINGVIEW_LEVEL<2

#endif

    // Class: QColor
    // Function: isValid
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    isValid
    (


    )

    const

    ;

    // Class: QColor
    // Function: name
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    name
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    const

    ;

#if QT_STRINGVIEW_LEVEL<2

    // Class: QColor
    // Function: setNamedColor
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    setNamedColor
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    ;

#endif

    // Class: QColor
    // Function: spec
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    spec
    (


    )

    const

    ;

    // Class: QColor
    // Function: alpha
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    alpha
    (


    )

    const

    ;

    // Class: QColor
    // Function: setAlpha
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    setAlpha
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    ;

    // Class: QColor
    // Function: alphaF
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    alphaF
    (


    )

    const

    ;

    // Class: QColor
    // Function: setAlphaF
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    setAlphaF
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    ;

    // Class: QColor
    // Function: red
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    red
    (


    )

    const

    ;

    // Class: QColor
    // Function: green
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    green
    (


    )

    const

    ;

    // Class: QColor
    // Function: blue
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    blue
    (


    )

    const

    ;

    // Class: QColor
    // Function: setRed
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    setRed
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    ;

    // Class: QColor
    // Function: setGreen
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    setGreen
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    ;

    // Class: QColor
    // Function: setBlue
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    setBlue
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    ;

    // Class: QColor
    // Function: redF
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    redF
    (


    )

    const

    ;

    // Class: QColor
    // Function: greenF
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    greenF
    (


    )

    const

    ;

    // Class: QColor
    // Function: blueF
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    blueF
    (


    )

    const

    ;

    // Class: QColor
    // Function: setRedF
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    setRedF
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    ;

    // Class: QColor
    // Function: setGreenF
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    setGreenF
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    ;

    // Class: QColor
    // Function: setBlueF
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    setBlueF
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    ;

    // Class: QColor
    // Function: setRgb
    // Source:
    // Static: false
    // Parameters: 4
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    setRgb
    (


        const QJSValue&
        a1
        = QJSValue()
          ,
        const QJSValue&
        a2
        = QJSValue()
          ,
        const QJSValue&
        a3
        = QJSValue()
          ,
        const QJSValue&
        a4
        = QJSValue()

    )

    ;

    // Class: QColor
    // Function: setRgbF
    // Source:
    // Static: false
    // Parameters: 4
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    setRgbF
    (


        const QJSValue&
        a1
        = QJSValue()
          ,
        const QJSValue&
        a2
        = QJSValue()
          ,
        const QJSValue&
        a3
        = QJSValue()
          ,
        const QJSValue&
        a4
        = QJSValue()

    )

    ;

    // Class: QColor
    // Function: hue
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    hue
    (


    )

    const

    ;

    // Class: QColor
    // Function: saturation
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    saturation
    (


    )

    const

    ;

    // Class: QColor
    // Function: hsvHue
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    hsvHue
    (


    )

    const

    ;

    // Class: QColor
    // Function: hsvSaturation
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    hsvSaturation
    (


    )

    const

    ;

    // Class: QColor
    // Function: value
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    value
    (


    )

    const

    ;

    // Class: QColor
    // Function: hueF
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    hueF
    (


    )

    const

    ;

    // Class: QColor
    // Function: saturationF
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    saturationF
    (


    )

    const

    ;

    // Class: QColor
    // Function: hsvHueF
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    hsvHueF
    (


    )

    const

    ;

    // Class: QColor
    // Function: hsvSaturationF
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    hsvSaturationF
    (


    )

    const

    ;

    // Class: QColor
    // Function: valueF
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    valueF
    (


    )

    const

    ;

    // Class: QColor
    // Function: setHsv
    // Source:
    // Static: false
    // Parameters: 4
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    setHsv
    (


        const QJSValue&
        a1
        = QJSValue()
          ,
        const QJSValue&
        a2
        = QJSValue()
          ,
        const QJSValue&
        a3
        = QJSValue()
          ,
        const QJSValue&
        a4
        = QJSValue()

    )

    ;

    // Class: QColor
    // Function: setHsvF
    // Source:
    // Static: false
    // Parameters: 4
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    setHsvF
    (


        const QJSValue&
        a1
        = QJSValue()
          ,
        const QJSValue&
        a2
        = QJSValue()
          ,
        const QJSValue&
        a3
        = QJSValue()
          ,
        const QJSValue&
        a4
        = QJSValue()

    )

    ;

    // Class: QColor
    // Function: cyan
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    cyan
    (


    )

    const

    ;

    // Class: QColor
    // Function: magenta
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    magenta
    (


    )

    const

    ;

    // Class: QColor
    // Function: yellow
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    yellow
    (


    )

    const

    ;

    // Class: QColor
    // Function: black
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    black
    (


    )

    const

    ;

    // Class: QColor
    // Function: cyanF
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    cyanF
    (


    )

    const

    ;

    // Class: QColor
    // Function: magentaF
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    magentaF
    (


    )

    const

    ;

    // Class: QColor
    // Function: yellowF
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    yellowF
    (


    )

    const

    ;

    // Class: QColor
    // Function: blackF
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    blackF
    (


    )

    const

    ;

    // Class: QColor
    // Function: setCmyk
    // Source:
    // Static: false
    // Parameters: 5
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    setCmyk
    (


        const QJSValue&
        a1
        = QJSValue()
          ,
        const QJSValue&
        a2
        = QJSValue()
          ,
        const QJSValue&
        a3
        = QJSValue()
          ,
        const QJSValue&
        a4
        = QJSValue()
          ,
        const QJSValue&
        a5
        = QJSValue()

    )

    ;

    // Class: QColor
    // Function: setCmykF
    // Source:
    // Static: false
    // Parameters: 5
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    setCmykF
    (


        const QJSValue&
        a1
        = QJSValue()
          ,
        const QJSValue&
        a2
        = QJSValue()
          ,
        const QJSValue&
        a3
        = QJSValue()
          ,
        const QJSValue&
        a4
        = QJSValue()
          ,
        const QJSValue&
        a5
        = QJSValue()

    )

    ;

    // Class: QColor
    // Function: hslHue
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    hslHue
    (


    )

    const

    ;

    // Class: QColor
    // Function: hslSaturation
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    hslSaturation
    (


    )

    const

    ;

    // Class: QColor
    // Function: lightness
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    lightness
    (


    )

    const

    ;

    // Class: QColor
    // Function: hslHueF
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    hslHueF
    (


    )

    const

    ;

    // Class: QColor
    // Function: hslSaturationF
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    hslSaturationF
    (


    )

    const

    ;

    // Class: QColor
    // Function: lightnessF
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    lightnessF
    (


    )

    const

    ;

    // Class: QColor
    // Function: setHsl
    // Source:
    // Static: false
    // Parameters: 4
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    setHsl
    (


        const QJSValue&
        a1
        = QJSValue()
          ,
        const QJSValue&
        a2
        = QJSValue()
          ,
        const QJSValue&
        a3
        = QJSValue()
          ,
        const QJSValue&
        a4
        = QJSValue()

    )

    ;

    // Class: QColor
    // Function: setHslF
    // Source:
    // Static: false
    // Parameters: 4
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    setHslF
    (


        const QJSValue&
        a1
        = QJSValue()
          ,
        const QJSValue&
        a2
        = QJSValue()
          ,
        const QJSValue&
        a3
        = QJSValue()
          ,
        const QJSValue&
        a4
        = QJSValue()

    )

    ;

    // Class: QColor
    // Function: toRgb
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    toRgb
    (


    )

    const

    ;

    // Class: QColor
    // Function: toHsv
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    toHsv
    (


    )

    const

    ;

    // Class: QColor
    // Function: toCmyk
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    toCmyk
    (


    )

    const

    ;

    // Class: QColor
    // Function: toHsl
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    toHsl
    (


    )

    const

    ;

    // Class: QColor
    // Function: toExtendedRgb
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    toExtendedRgb
    (


    )

    const

    ;

    // Class: QColor
    // Function: convertTo
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    convertTo
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    const

    ;

    // Class: QColor
    // Function: lighter
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    lighter
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    const

    ;

    // Class: QColor
    // Function: darker
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    darker
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    const

    ;

#if QT_STRINGVIEW_LEVEL<2

#endif

    // destroy function for non-copyable objects:
    Q_INVOKABLE void destr() {
        if (wrapped!=nullptr) {

            delete wrapped;

            wrapped = nullptr;
        }

    }


    //public:
    // set engine:
    //Q_INVOKABLE void setHandler(RJSApi* h) {
    //  RJSWrapperObj::setHandler(h);
    //}


    // member functions for static properties, forward to static function



    // protected overwritten functions / events and their public invokable counterparts:

public:

    // get type of wrapped object:
    Q_INVOKABLE
    virtual /*RJSType ID*/ int getWrappedType() const {
        return RJSType_QColor::getIdStatic();
    }

    // return true if wrapped object is owned by C++ (not deleted):
    Q_INVOKABLE
    virtual bool isCppOwnership() const {

        return false;

    }

    // get wrapped object:
    QColor* getWrapped() {
        if (wrapped!=nullptr) {
            return wrapped;
        }

        return nullptr;
    }

    // get wrapped object (const):
    QColor* getWrapped() const {
        if (wrapped!=nullptr) {
            return wrapped;
        }

        return nullptr;
    }

    // get wrapped object as void*:
    virtual void* getWrappedVoid() {
        if (wrapped!=nullptr) {
            return wrapped;
        }

        return nullptr;
    }



    bool hasWrapped() const {
        return wrapped!=nullptr

               ;
    }

    Q_INVOKABLE
    bool isNullWrapper() const {
        return !hasWrapped();
    }

    Q_INVOKABLE
    unsigned long long int getAddress() const {
        if (wrapped!=nullptr) {
            return (unsigned long long int)wrapped;
        }

        return (unsigned long long int)0;
    }


    Q_INVOKABLE
    bool equals(const QJSValue& other) const {
        QColor otherObj = RJSHelper::js2cpp_QColor(handler, other);
        QColor* thisObj = getWrapped();

        if (thisObj==nullptr) {
            return false;
        }

        return *thisObj==otherObj;
    }


    //public slots:
    //void slotDestroyed(QObject* obj) {
    //  qDebug() << "destroying QObject:" << (long int)obj;
    //}



private:
    // wrapped object:
    QColor* wrapped;



    bool wrappedCreated;

private:
    // list of registered base casters for this wrapper class:
    static QList<RJSBasecaster_QColor*> basecasters_QColor;

public:
    static void registerBasecaster_QColor(RJSBasecaster_QColor* bc) {
        basecasters_QColor.append(bc);
    }

};

Q_DECLARE_METATYPE(QColor_Wrapper*)

Q_DECLARE_INTERFACE(QColor_Wrapper, "org.qcad.QColor_Wrapper")


#endif

