/*
 * Interface wrapper code.
 *
 * Generated by SIP 6.15.1
 *
 *     Copyright: (c) 2020 by Total Control Software
 *     License:   wxWindows License
 */

#include "sipAPI_core.h"
        #include <wx/fontutil.h>
        #include <wx/font.h>
    wxString* _wxNativeFontInfo___str__(wxNativeFontInfo* self)
    {
        return new wxString(self->ToString());
    }


PyDoc_STRVAR(doc_wxNativeFontInfo_Init, "Init() -> None");

extern "C" {static PyObject *meth_wxNativeFontInfo_Init(PyObject *, PyObject *);}
static PyObject *meth_wxNativeFontInfo_Init(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        ::wxNativeFontInfo *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxNativeFontInfo, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->Init();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_NativeFontInfo, sipName_Init, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxNativeFontInfo_InitFromFont, "InitFromFont(font) -> None");

extern "C" {static PyObject *meth_wxNativeFontInfo_InitFromFont(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxNativeFontInfo_InitFromFont(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const ::wxFont* font;
        ::wxNativeFontInfo *sipCpp;

        static const char *sipKwdList[] = {
            sipName_font,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9", &sipSelf, sipType_wxNativeFontInfo, &sipCpp, sipType_wxFont, &font))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->InitFromFont(*font);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_NativeFontInfo, sipName_InitFromFont, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxNativeFontInfo_GetPointSize, "GetPointSize() -> int");

extern "C" {static PyObject *meth_wxNativeFontInfo_GetPointSize(PyObject *, PyObject *);}
static PyObject *meth_wxNativeFontInfo_GetPointSize(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const ::wxNativeFontInfo *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxNativeFontInfo, &sipCpp))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetPointSize();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_NativeFontInfo, sipName_GetPointSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxNativeFontInfo_GetFractionalPointSize, "GetFractionalPointSize() -> float");

extern "C" {static PyObject *meth_wxNativeFontInfo_GetFractionalPointSize(PyObject *, PyObject *);}
static PyObject *meth_wxNativeFontInfo_GetFractionalPointSize(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const ::wxNativeFontInfo *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxNativeFontInfo, &sipCpp))
        {
            float sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetFractionalPointSize();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyFloat_FromDouble((double)sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_NativeFontInfo, sipName_GetFractionalPointSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxNativeFontInfo_GetStyle, "GetStyle() -> FontStyle");

extern "C" {static PyObject *meth_wxNativeFontInfo_GetStyle(PyObject *, PyObject *);}
static PyObject *meth_wxNativeFontInfo_GetStyle(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const ::wxNativeFontInfo *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxNativeFontInfo, &sipCpp))
        {
            ::wxFontStyle sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetStyle();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromEnum(static_cast<int>(sipRes), sipType_wxFontStyle);
        }
    }

    sipNoMethod(sipParseErr, sipName_NativeFontInfo, sipName_GetStyle, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxNativeFontInfo_GetNumericWeight, "GetNumericWeight() -> int");

extern "C" {static PyObject *meth_wxNativeFontInfo_GetNumericWeight(PyObject *, PyObject *);}
static PyObject *meth_wxNativeFontInfo_GetNumericWeight(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const ::wxNativeFontInfo *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxNativeFontInfo, &sipCpp))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetNumericWeight();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_NativeFontInfo, sipName_GetNumericWeight, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxNativeFontInfo_GetWeight, "GetWeight() -> FontWeight");

extern "C" {static PyObject *meth_wxNativeFontInfo_GetWeight(PyObject *, PyObject *);}
static PyObject *meth_wxNativeFontInfo_GetWeight(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const ::wxNativeFontInfo *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxNativeFontInfo, &sipCpp))
        {
            ::wxFontWeight sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetWeight();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromEnum(static_cast<int>(sipRes), sipType_wxFontWeight);
        }
    }

    sipNoMethod(sipParseErr, sipName_NativeFontInfo, sipName_GetWeight, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxNativeFontInfo_GetUnderlined, "GetUnderlined() -> bool");

extern "C" {static PyObject *meth_wxNativeFontInfo_GetUnderlined(PyObject *, PyObject *);}
static PyObject *meth_wxNativeFontInfo_GetUnderlined(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const ::wxNativeFontInfo *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxNativeFontInfo, &sipCpp))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetUnderlined();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_NativeFontInfo, sipName_GetUnderlined, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxNativeFontInfo_GetFaceName, "GetFaceName() -> str");

extern "C" {static PyObject *meth_wxNativeFontInfo_GetFaceName(PyObject *, PyObject *);}
static PyObject *meth_wxNativeFontInfo_GetFaceName(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const ::wxNativeFontInfo *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxNativeFontInfo, &sipCpp))
        {
            ::wxString*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new ::wxString(sipCpp->GetFaceName());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes, sipType_wxString, SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_NativeFontInfo, sipName_GetFaceName, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxNativeFontInfo_GetFamily, "GetFamily() -> FontFamily");

extern "C" {static PyObject *meth_wxNativeFontInfo_GetFamily(PyObject *, PyObject *);}
static PyObject *meth_wxNativeFontInfo_GetFamily(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const ::wxNativeFontInfo *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxNativeFontInfo, &sipCpp))
        {
            ::wxFontFamily sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetFamily();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromEnum(static_cast<int>(sipRes), sipType_wxFontFamily);
        }
    }

    sipNoMethod(sipParseErr, sipName_NativeFontInfo, sipName_GetFamily, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxNativeFontInfo_GetEncoding, "GetEncoding() -> FontEncoding");

extern "C" {static PyObject *meth_wxNativeFontInfo_GetEncoding(PyObject *, PyObject *);}
static PyObject *meth_wxNativeFontInfo_GetEncoding(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const ::wxNativeFontInfo *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxNativeFontInfo, &sipCpp))
        {
            ::wxFontEncoding sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetEncoding();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromEnum(static_cast<int>(sipRes), sipType_wxFontEncoding);
        }
    }

    sipNoMethod(sipParseErr, sipName_NativeFontInfo, sipName_GetEncoding, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxNativeFontInfo_SetPointSize, "SetPointSize(pointsize) -> None");

extern "C" {static PyObject *meth_wxNativeFontInfo_SetPointSize(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxNativeFontInfo_SetPointSize(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int pointsize;
        ::wxNativeFontInfo *sipCpp;

        static const char *sipKwdList[] = {
            sipName_pointsize,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxNativeFontInfo, &sipCpp, &pointsize))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetPointSize(pointsize);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_NativeFontInfo, sipName_SetPointSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxNativeFontInfo_SetFractionalPointSize, "SetFractionalPointSize(pointsize) -> None");

extern "C" {static PyObject *meth_wxNativeFontInfo_SetFractionalPointSize(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxNativeFontInfo_SetFractionalPointSize(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        float pointsize;
        ::wxNativeFontInfo *sipCpp;

        static const char *sipKwdList[] = {
            sipName_pointsize,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bf", &sipSelf, sipType_wxNativeFontInfo, &sipCpp, &pointsize))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetFractionalPointSize(pointsize);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_NativeFontInfo, sipName_SetFractionalPointSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxNativeFontInfo_SetStyle, "SetStyle(style) -> None");

extern "C" {static PyObject *meth_wxNativeFontInfo_SetStyle(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxNativeFontInfo_SetStyle(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        ::wxFontStyle style;
        ::wxNativeFontInfo *sipCpp;

        static const char *sipKwdList[] = {
            sipName_style,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BE", &sipSelf, sipType_wxNativeFontInfo, &sipCpp, sipType_wxFontStyle, &style))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetStyle(style);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_NativeFontInfo, sipName_SetStyle, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxNativeFontInfo_SetNumericWeight, "SetNumericWeight(weight) -> None");

extern "C" {static PyObject *meth_wxNativeFontInfo_SetNumericWeight(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxNativeFontInfo_SetNumericWeight(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int weight;
        ::wxNativeFontInfo *sipCpp;

        static const char *sipKwdList[] = {
            sipName_weight,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxNativeFontInfo, &sipCpp, &weight))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetNumericWeight(weight);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_NativeFontInfo, sipName_SetNumericWeight, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxNativeFontInfo_SetWeight, "SetWeight(weight) -> None");

extern "C" {static PyObject *meth_wxNativeFontInfo_SetWeight(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxNativeFontInfo_SetWeight(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        ::wxFontWeight weight;
        ::wxNativeFontInfo *sipCpp;

        static const char *sipKwdList[] = {
            sipName_weight,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BE", &sipSelf, sipType_wxNativeFontInfo, &sipCpp, sipType_wxFontWeight, &weight))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetWeight(weight);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_NativeFontInfo, sipName_SetWeight, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxNativeFontInfo_SetUnderlined, "SetUnderlined(underlined) -> None");

extern "C" {static PyObject *meth_wxNativeFontInfo_SetUnderlined(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxNativeFontInfo_SetUnderlined(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        bool underlined;
        ::wxNativeFontInfo *sipCpp;

        static const char *sipKwdList[] = {
            sipName_underlined,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bb", &sipSelf, sipType_wxNativeFontInfo, &sipCpp, &underlined))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetUnderlined(underlined);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_NativeFontInfo, sipName_SetUnderlined, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxNativeFontInfo_SetFaceName, "SetFaceName(facename) -> bool\n"
"SetFaceName(facenames) -> None\n"
"");

extern "C" {static PyObject *meth_wxNativeFontInfo_SetFaceName(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxNativeFontInfo_SetFaceName(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const ::wxString* facename;
        int facenameState = 0;
        ::wxNativeFontInfo *sipCpp;

        static const char *sipKwdList[] = {
            sipName_facename,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxNativeFontInfo, &sipCpp, sipType_wxString, &facename, &facenameState))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->SetFaceName(*facename);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxString *>(facename), sipType_wxString, facenameState);

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    {
        const ::wxArrayString* facenames;
        int facenamesState = 0;
        ::wxNativeFontInfo *sipCpp;

        static const char *sipKwdList[] = {
            sipName_facenames,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxNativeFontInfo, &sipCpp, sipType_wxArrayString, &facenames, &facenamesState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetFaceName(*facenames);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxArrayString *>(facenames), sipType_wxArrayString, facenamesState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_NativeFontInfo, sipName_SetFaceName, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxNativeFontInfo_SetFamily, "SetFamily(family) -> None");

extern "C" {static PyObject *meth_wxNativeFontInfo_SetFamily(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxNativeFontInfo_SetFamily(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        ::wxFontFamily family;
        ::wxNativeFontInfo *sipCpp;

        static const char *sipKwdList[] = {
            sipName_family,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BE", &sipSelf, sipType_wxNativeFontInfo, &sipCpp, sipType_wxFontFamily, &family))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetFamily(family);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_NativeFontInfo, sipName_SetFamily, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxNativeFontInfo_SetEncoding, "SetEncoding(encoding) -> None");

extern "C" {static PyObject *meth_wxNativeFontInfo_SetEncoding(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxNativeFontInfo_SetEncoding(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        ::wxFontEncoding encoding;
        ::wxNativeFontInfo *sipCpp;

        static const char *sipKwdList[] = {
            sipName_encoding,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BE", &sipSelf, sipType_wxNativeFontInfo, &sipCpp, sipType_wxFontEncoding, &encoding))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetEncoding(encoding);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_NativeFontInfo, sipName_SetEncoding, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxNativeFontInfo_FromString, "FromString(s) -> bool");

extern "C" {static PyObject *meth_wxNativeFontInfo_FromString(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxNativeFontInfo_FromString(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const ::wxString* s;
        int sState = 0;
        ::wxNativeFontInfo *sipCpp;

        static const char *sipKwdList[] = {
            sipName_s,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxNativeFontInfo, &sipCpp, sipType_wxString, &s, &sState))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->FromString(*s);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxString *>(s), sipType_wxString, sState);

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_NativeFontInfo, sipName_FromString, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxNativeFontInfo_ToString, "ToString() -> str");

extern "C" {static PyObject *meth_wxNativeFontInfo_ToString(PyObject *, PyObject *);}
static PyObject *meth_wxNativeFontInfo_ToString(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const ::wxNativeFontInfo *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxNativeFontInfo, &sipCpp))
        {
            ::wxString*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new ::wxString(sipCpp->ToString());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes, sipType_wxString, SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_NativeFontInfo, sipName_ToString, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxNativeFontInfo_FromUserString, "FromUserString(s) -> bool");

extern "C" {static PyObject *meth_wxNativeFontInfo_FromUserString(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxNativeFontInfo_FromUserString(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const ::wxString* s;
        int sState = 0;
        ::wxNativeFontInfo *sipCpp;

        static const char *sipKwdList[] = {
            sipName_s,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxNativeFontInfo, &sipCpp, sipType_wxString, &s, &sState))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->FromUserString(*s);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxString *>(s), sipType_wxString, sState);

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_NativeFontInfo, sipName_FromUserString, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxNativeFontInfo_ToUserString, "ToUserString() -> str");

extern "C" {static PyObject *meth_wxNativeFontInfo_ToUserString(PyObject *, PyObject *);}
static PyObject *meth_wxNativeFontInfo_ToUserString(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const ::wxNativeFontInfo *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxNativeFontInfo, &sipCpp))
        {
            ::wxString*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new ::wxString(sipCpp->ToUserString());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes, sipType_wxString, SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_NativeFontInfo, sipName_ToUserString, SIP_NULLPTR);

    return SIP_NULLPTR;
}


extern "C" {static PyObject *slot_wxNativeFontInfo___str__(PyObject *);}
static PyObject *slot_wxNativeFontInfo___str__(PyObject *sipSelf)
{
    ::wxNativeFontInfo *sipCpp = reinterpret_cast< ::wxNativeFontInfo *>(sipGetCppPtr((sipSimpleWrapper *)sipSelf, sipType_wxNativeFontInfo));

    if (!sipCpp)
        return SIP_NULLPTR;


    {
        {
            ::wxString*sipRes = 0;
            int sipIsErr = 0;
        PyErr_Clear();
        Py_BEGIN_ALLOW_THREADS
        sipRes = _wxNativeFontInfo___str__(sipCpp);
        Py_END_ALLOW_THREADS
        if (PyErr_Occurred()) sipIsErr = 1;

            if (sipIsErr)
                return 0;

            return sipConvertFromType(sipRes, sipType_wxString, SIP_NULLPTR);
        }
    }

    return 0;
}


/* Call the instance's destructor. */
extern "C" {static void release_wxNativeFontInfo(void *, int);}
static void release_wxNativeFontInfo(void *sipCppV, int)
{
    Py_BEGIN_ALLOW_THREADS

    delete reinterpret_cast< ::wxNativeFontInfo *>(sipCppV);

    Py_END_ALLOW_THREADS
}


extern "C" {static void *array_wxNativeFontInfo(Py_ssize_t);}
static void *array_wxNativeFontInfo(Py_ssize_t sipNrElem)
{
    return new ::wxNativeFontInfo[sipNrElem];
}


extern "C" {static void array_delete_wxNativeFontInfo(void *);}
static void array_delete_wxNativeFontInfo(void *sipCpp)
{
    delete[] reinterpret_cast< ::wxNativeFontInfo *>(sipCpp);
}


extern "C" {static void assign_wxNativeFontInfo(void *, Py_ssize_t, void *);}
static void assign_wxNativeFontInfo(void *sipDst, Py_ssize_t sipDstIdx, void *sipSrc)
{
    reinterpret_cast< ::wxNativeFontInfo *>(sipDst)[sipDstIdx] = *reinterpret_cast< ::wxNativeFontInfo *>(sipSrc);
}


extern "C" {static void *copy_wxNativeFontInfo(const void *, Py_ssize_t);}
static void *copy_wxNativeFontInfo(const void *sipSrc, Py_ssize_t sipSrcIdx)
{
    return new ::wxNativeFontInfo(reinterpret_cast<const ::wxNativeFontInfo *>(sipSrc)[sipSrcIdx]);
}


extern "C" {static void dealloc_wxNativeFontInfo(sipSimpleWrapper *);}
static void dealloc_wxNativeFontInfo(sipSimpleWrapper *sipSelf)
{
    if (sipIsOwnedByPython(sipSelf))
    {
        release_wxNativeFontInfo(sipGetAddress(sipSelf), 0);
    }
}


extern "C" {static void *init_type_wxNativeFontInfo(sipSimpleWrapper *, PyObject *, PyObject *, PyObject **, PyObject **, PyObject **);}
static void *init_type_wxNativeFontInfo(sipSimpleWrapper *, PyObject *sipArgs, PyObject *sipKwds, PyObject **sipUnused, PyObject **, PyObject **sipParseErr)
{
    ::wxNativeFontInfo *sipCpp = SIP_NULLPTR;

    {
        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, SIP_NULLPTR, sipUnused, ""))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp = new ::wxNativeFontInfo();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
            {
                delete sipCpp;
                return SIP_NULLPTR;
            }

            return sipCpp;
        }
    }

    {
        const ::wxNativeFontInfo* info;

        static const char *sipKwdList[] = {
            sipName_info,
        };

        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, sipKwdList, sipUnused, "J9", sipType_wxNativeFontInfo, &info))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp = new ::wxNativeFontInfo(*info);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
            {
                delete sipCpp;
                return SIP_NULLPTR;
            }

            return sipCpp;
        }
    }

    return SIP_NULLPTR;
}


/* Define this type's Python slots. */
static sipPySlotDef slots_wxNativeFontInfo[] = {
    {(void *)slot_wxNativeFontInfo___str__, str_slot},
    {0, (sipPySlotType)0}
};


static PyMethodDef methods_wxNativeFontInfo[] = {
    {sipName_FromString, SIP_MLMETH_CAST(meth_wxNativeFontInfo_FromString), METH_VARARGS|METH_KEYWORDS, doc_wxNativeFontInfo_FromString},
    {sipName_FromUserString, SIP_MLMETH_CAST(meth_wxNativeFontInfo_FromUserString), METH_VARARGS|METH_KEYWORDS, doc_wxNativeFontInfo_FromUserString},
    {sipName_GetEncoding, meth_wxNativeFontInfo_GetEncoding, METH_VARARGS, doc_wxNativeFontInfo_GetEncoding},
    {sipName_GetFaceName, meth_wxNativeFontInfo_GetFaceName, METH_VARARGS, doc_wxNativeFontInfo_GetFaceName},
    {sipName_GetFamily, meth_wxNativeFontInfo_GetFamily, METH_VARARGS, doc_wxNativeFontInfo_GetFamily},
    {sipName_GetFractionalPointSize, meth_wxNativeFontInfo_GetFractionalPointSize, METH_VARARGS, doc_wxNativeFontInfo_GetFractionalPointSize},
    {sipName_GetNumericWeight, meth_wxNativeFontInfo_GetNumericWeight, METH_VARARGS, doc_wxNativeFontInfo_GetNumericWeight},
    {sipName_GetPointSize, meth_wxNativeFontInfo_GetPointSize, METH_VARARGS, doc_wxNativeFontInfo_GetPointSize},
    {sipName_GetStyle, meth_wxNativeFontInfo_GetStyle, METH_VARARGS, doc_wxNativeFontInfo_GetStyle},
    {sipName_GetUnderlined, meth_wxNativeFontInfo_GetUnderlined, METH_VARARGS, doc_wxNativeFontInfo_GetUnderlined},
    {sipName_GetWeight, meth_wxNativeFontInfo_GetWeight, METH_VARARGS, doc_wxNativeFontInfo_GetWeight},
    {sipName_Init, meth_wxNativeFontInfo_Init, METH_VARARGS, doc_wxNativeFontInfo_Init},
    {sipName_InitFromFont, SIP_MLMETH_CAST(meth_wxNativeFontInfo_InitFromFont), METH_VARARGS|METH_KEYWORDS, doc_wxNativeFontInfo_InitFromFont},
    {sipName_SetEncoding, SIP_MLMETH_CAST(meth_wxNativeFontInfo_SetEncoding), METH_VARARGS|METH_KEYWORDS, doc_wxNativeFontInfo_SetEncoding},
    {sipName_SetFaceName, SIP_MLMETH_CAST(meth_wxNativeFontInfo_SetFaceName), METH_VARARGS|METH_KEYWORDS, doc_wxNativeFontInfo_SetFaceName},
    {sipName_SetFamily, SIP_MLMETH_CAST(meth_wxNativeFontInfo_SetFamily), METH_VARARGS|METH_KEYWORDS, doc_wxNativeFontInfo_SetFamily},
    {sipName_SetFractionalPointSize, SIP_MLMETH_CAST(meth_wxNativeFontInfo_SetFractionalPointSize), METH_VARARGS|METH_KEYWORDS, doc_wxNativeFontInfo_SetFractionalPointSize},
    {sipName_SetNumericWeight, SIP_MLMETH_CAST(meth_wxNativeFontInfo_SetNumericWeight), METH_VARARGS|METH_KEYWORDS, doc_wxNativeFontInfo_SetNumericWeight},
    {sipName_SetPointSize, SIP_MLMETH_CAST(meth_wxNativeFontInfo_SetPointSize), METH_VARARGS|METH_KEYWORDS, doc_wxNativeFontInfo_SetPointSize},
    {sipName_SetStyle, SIP_MLMETH_CAST(meth_wxNativeFontInfo_SetStyle), METH_VARARGS|METH_KEYWORDS, doc_wxNativeFontInfo_SetStyle},
    {sipName_SetUnderlined, SIP_MLMETH_CAST(meth_wxNativeFontInfo_SetUnderlined), METH_VARARGS|METH_KEYWORDS, doc_wxNativeFontInfo_SetUnderlined},
    {sipName_SetWeight, SIP_MLMETH_CAST(meth_wxNativeFontInfo_SetWeight), METH_VARARGS|METH_KEYWORDS, doc_wxNativeFontInfo_SetWeight},
    {sipName_ToString, meth_wxNativeFontInfo_ToString, METH_VARARGS, doc_wxNativeFontInfo_ToString},
    {sipName_ToUserString, meth_wxNativeFontInfo_ToUserString, METH_VARARGS, doc_wxNativeFontInfo_ToUserString}
};

sipVariableDef variables_wxNativeFontInfo[] = {
    {PropertyVariable, sipName_Weight, &methods_wxNativeFontInfo[10], &methods_wxNativeFontInfo[21], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_Underlined, &methods_wxNativeFontInfo[9], &methods_wxNativeFontInfo[20], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_Style, &methods_wxNativeFontInfo[8], &methods_wxNativeFontInfo[19], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_PointSize, &methods_wxNativeFontInfo[7], &methods_wxNativeFontInfo[18], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_NumericWeight, &methods_wxNativeFontInfo[6], &methods_wxNativeFontInfo[17], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_FractionalPointSize, &methods_wxNativeFontInfo[5], &methods_wxNativeFontInfo[16], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_Family, &methods_wxNativeFontInfo[4], &methods_wxNativeFontInfo[15], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_FaceName, &methods_wxNativeFontInfo[3], &methods_wxNativeFontInfo[14], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_Encoding, &methods_wxNativeFontInfo[2], &methods_wxNativeFontInfo[13], SIP_NULLPTR, SIP_NULLPTR},
};

PyDoc_STRVAR(doc_wxNativeFontInfo, "NativeFontInfo() -> None\n"
"NativeFontInfo(info) -> None\n"
"\n"
"wxNativeFontInfo is platform-specific font representation: this class\n"
"should be considered as an opaque font description only used by the\n"
"native functions, the user code can only get the objects of this type\n"
"from somewhere and pass it somewhere else (possibly save them\n"
"somewhere using ToString() and restore them using FromString())");


sipClassTypeDef sipTypeDef__core_wxNativeFontInfo = {
    {
        -1,
        SIP_NULLPTR,
        SIP_NULLPTR,
        SIP_TYPE_CLASS,
        sipNameNr_wxNativeFontInfo,
        SIP_NULLPTR,
        SIP_NULLPTR,
    },
    {
        sipNameNr_NativeFontInfo,
        {0, 0, 1},
        24, methods_wxNativeFontInfo,
        0, SIP_NULLPTR,
        9, variables_wxNativeFontInfo,
        {SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    },
    doc_wxNativeFontInfo,
    -1,
    -1,
    SIP_NULLPTR,
    slots_wxNativeFontInfo,
    init_type_wxNativeFontInfo,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    dealloc_wxNativeFontInfo,
    assign_wxNativeFontInfo,
    array_wxNativeFontInfo,
    copy_wxNativeFontInfo,
    release_wxNativeFontInfo,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    array_delete_wxNativeFontInfo,
    sizeof (::wxNativeFontInfo),
};
